Function3<A, B, C, D> uncurry3<A, B, C, D>(Function1<A, Function1<B, Function1<C, D>>> fun) => (a, b, c) => fun(a)(b)(c);