Duas maneiras de curry em Scala; qual é o caso de uso de cada um?

Estou tendo uma discussão em torno deVárias listas de parâmetros no Guia de Estilo Scala que mantenho. Eu percebi que existem duas maneiras decurrying, e eu estou querendo saber quais são os casos de uso:

def add(a:Int)(b:Int) = {a + b}
// Works
add(5)(6)
// Doesn't compile
val f = add(5)
// Works
val f = add(5)_
f(10) // yields 15

def add2(a:Int) = { b:Int => a + b }
// Works
add2(5)(6)
// Also works
val f = add2(5)
f(10) // Yields 15
// Doesn't compile
val f = add2(5)_

O guia de estilo implica incorretamente que são iguais, quando claramente não são. O guia está tentando fazer uma observação sobre as funções criadas ao curry e, embora a segunda forma não seja "curiosa", ainda é muito semelhante à primeira forma (embora seja mais fácil de usar, porque você não precisa a_)

Daqueles que usam esses formulários, qual é o consenso sobre quando usar um formulário sobre o outro?

questionAnswers(3)

yourAnswerToTheQuestion