В lib\internal-numbered.n имеем следующий код:
public abstract class Function ['p1, 'r]
{
public static @|> (a : 'p1, fac : 'p1 -> 'r) : 'r
{
fac(a)
}
public static @|> (a : 'p1, fac : 'p1 -> void) : void
{
fac(a)
}
...
}
Следующий код работает
def f(a) { a }
def x = 1 |> f;
Однако с котрежами код не компилируется
def f(a, b) { a + b }
def x = (1, 2) |> f;
1:15:1:20: error: typing fails on finding the operator op_Addition(?, ?)
Но достаточно указать тип функции где-нибудь, то все собирается
def f(a, b) { a + b : int }
def x = (1, 2) |> f;