Я не уверен на 100%, в чем именно проблема, но я сильно подозреваю, что это не делает то, что вы думаете.
Попробуйте, например,
var plusTen = curriedNewSum(_)
Вы увидите, что он вернет Function1[Int, Function1[Int, Int]]
. Теперь попробуйте это:
var plusTen = (curriedNewSum(_))(10)
И посмотри, как это работает! Ну, это означает:
var plusTen = ((x: Int) => curriedNewSum(x))(10)
В то время как другой путь переводится в:
var plusTen = (x) => curriedNewSum(x)(10)
Что-то в том, как расширяется функция, искажает вывод типа.