HKT3<KT, P1, P2, P3> chainFirst<N1>( covariant Monad3<KT, P1, P2, N1> Function(P3) chain, ) => flatMap((b) => chain(b).map((c) => b));