class Functor2 mm => Monad2 mm where |
return2 :: p -> mm p a | mbind2 :: mm p a -> (p -> mm q a) -> mm q a |
|
|
mseq2 :: Monad2 mm => mm p a -> mm q a -> mm q a |
|
monad2_fmap2 :: Monad2 mm => (p -> q) -> mm p a -> mm q a |
|
throwX :: Monad2 mm => p -> mm p a |
|
catchX :: Monad2 mm => mm p a -> (p -> mm q a) -> mm q a |
|
exConvert :: (IsA q p, Functor2 mm) => mm p a -> mm q a |