untupled
object Function {
def untupled[X1, ..., Xn, Y](f: ((X1, ..., Xn)) => Y): (X1, ..., Xn) => Y
}
untupled
creates an equivalent anonymous function that accepts n parameters
corresponding to each component of the n-tuple accepted by the function f
as a
single parameter.