Derek Berner
fun <A, B, C> tupled(f: (A, B) -> C): (Tuple2<A, B>) -> C = { a, b -> f(a, b) } fun <A, B, C> ((A, B) -> C).tupled2(): (Tuple2<A, B>) -> C = { a, b -> this(a, b) }