uncurried
object Function {
def uncurried[X1, ..., Xn, Y](f: (X1) => ... => (Xn) => Y): (X1, ..., Xn) => Y
}
uncurried
creates an equivalent anonymous function that accepts at once all the successive parameters accepted by the sequence of high order functions started with the function f
.