В Scala существует множество способов, которые могут быть определены в функции, что приводит к путанице в том, когда требуются точно определенные типы параметров параметров. Обычно я начинаю с самого простого определения и работаю до конца, пока ошибки компилятора не исчезнут. Я бы лучше понял, как это работает.
Например:
_ + _
(x, y) => x + y
(x: Int, y: Int) => x + y
def sum(x: Int, y: Int) = x + y // as pointed out, this is a method,
// which not a function
Бонусные баллы за ссылку на документацию.