Transforms a monad with an unary function.
forall C, a, b:
(C a, (a) => C b) => C b
where C is Chain
Transforms a monad with an unary function.
Transforms a monad with an unary function.
Transforms a monad with an unary function.
(monad, transformation) =>
isNew(monad) ? monad[flChain](transformation)
: isOld(monad) ? warn(monad.chain(transformation))
: /*otherwise*/ unsupported(monad)