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.