/** * Perform a bind operation (@see #bind) but also lift the return value into a Monad using configured * MonadicConverters * * @param fn flatMap function * @return flatMapped monad */ default <MONAD1,R> Monad<MONAD1,R> liftAndBind(Function<? super T,?> fn){ return withMonad((MONAD)new ComprehenderSelector().selectComprehender( unwrap()) .liftAndFlatMap(unwrap(), fn)); }
/** * Perform a bind operation (@see #bind) but also lift the return value into a Monad using configured * MonadicConverters * * @param fn flatMap function * @return flatMapped monad */ default <MONAD1,R> Monad<MONAD1,R> liftAndBind(Function<? super T,?> fn){ return withMonad((MONAD)new ComprehenderSelector().selectComprehender( unwrap()) .liftAndFlatMap(unwrap(), fn)); }
/** * Perform a bind operation (@see #bind) but also lift the return value into a Monad using configured * MonadicConverters * * @param fn flatMap function * @return flatMapped monad */ default <MONAD1,R> Monad<MONAD1,R> liftAndBind(Function<? super T,?> fn){ return withMonad((MONAD)new ComprehenderSelector().selectComprehender( unwrap()) .liftAndFlatMap(unwrap(), fn)); }