Does there exist a general enrichment for f: A => B => ... => Z in scala/scalaz/shapeless/etc. such that f.uncurried:(A, B, ...) => Z?
Currently I have this, but I believe there must be a pre-existing, more general solution somewhere.
implicit def enrichMyCurriedFunction[A, B, C] = new EnrichedCurriedFunction[A, B, C](_)
class EnrichedCurriedFunction[A, B, C](f: A => B => C) {
def uncurried: (A, B) => C = (a, b) => f(a)(b)
}
There indeed is a builtin function: