Сложность метапрограммирования и reflection по сравнению с некоторыми другими языками. Отсутствие стандартных удобных механизмов для кодогенерации. Повышенные требования к стабильности ABI для сторонних библиотек. Не всегда очевидное поведение системы ошибок Result.