Czy można to wyrazić w stylu bez punktów?

Biorąc pod uwagę następujące wyrażenie sumujące IEnumerable liczb:

let sum l = l |> Seq.reduce(+)  //version a

czy można wyeliminować argument - tak?

let sum = Seq.reduce(+)    //version b

Dostaję błąd od kompilatora F # (FS0030) i wydaje mi się, że pamiętam, że widziałem coś o „konwersji eta”, ale niestety moja wiedza na temat obliczeń lambda jest zbyt ograniczona, aby śledzić, w jaki sposób dotyczy konwersji eta.

Czy argument można wyeliminować jak w wersji b?

Czy ktoś mógłby mi wskazać literaturę, która wyjaśniałaby konwersję eta i jak mogłaby się ona pojawić w tym konkretnym fragmencie kodu?

FS0030:

stdin (1,5): błąd FS0030: ograniczenie wartości. Wartość „sum” została wywnioskowana z typowego typu val sum: („_a -> int), gdy„ _a:> seq Albo sprecyzuj argumenty jako „sum”, albo, jeśli nie chcesz, aby były ogólne, dodaj adnotację typu.

questionAnswers(3)

yourAnswerToTheQuestion