и неявное не может быть разрешено.

ps://jto.github.io/articles/typelevel_quicksortМы подвержены :

 тип чейSum выглядит так:applyТеперь мы можем использовать уточнение типа напрямую вместо Aux, но остается вопрос: почему это (явный тип возврата) необходимо? Разве не было бы "очевидно", что возвращаемый тип

def apply[A <: Nat, B <: Nat](implicit sum: Sum[A, B]): Aux[A, B, sum.Out] = sum

 будет иметь тип Sum # Out, равный sum.Out?applyЕсли мы удалим его, и мы просто используем

выглядит нормально, кроме добавленияval x = Sum[_0, _1] не будет работать, говоря, что компилятор не может найти неявную сумму.val y = Sum[x.Out, _1]Как получилось, что компилятор "забывает" точный тип x.Out?

Насколько я вижу

Ответы на вопрос(1)

Ваш ответ на вопрос