HKT3<KT, P1, P2, N2> map2<N1, N2>( Monad3<KT, P1, P2, N1> m1, N2 Function(P3, N1) f, ) => flatMap((b) => m1.map((c) => f(b, c)));