HKT2<KT, A, E> map3<C, D, E>(Monad2<KT, A, C> m1, Monad2<KT, A, D> m2, E Function(B b, C c, D d) f) => flatMap((b) => m1.flatMap((c) => m2.map((d) => f(b, c, d))));