(a -> m b) -> (b -> m c) -> a -> m c -base

extMp :: (MonadPlus m, Typeable a, Typeable b) => (a -> m a) -> (b -> m b) -> a -> m a
syb Data.Generics.Aliases
Extend a generic MonadPlus transformation by a type-specific case
extM :: (Monad m, Typeable a, Typeable b) => (a -> m a) -> (b -> m b) -> a -> m a
syb Data.Generics.Aliases
Extend a generic monadic transformation by a type-specific case