HKT2<KT, A, B> chainFirst<C>( covariant Monad2<KT, A, C> Function(B b) chain) => flatMap((b) => chain(b).map((c) => b));