module Lava.Sequent where ---------------------------------------------------------------- -- Sequent (monadic Functor) class Functor s => Sequent s where sequent :: Monad m => s (m a) -> m (s a) instance Sequent [] where sequent = sequence mmap :: (Monad m, Sequent s) => (a -> m b) -> s a -> m (s b) mmap f = sequent . fmap f ---------------------------------------------------------------- -- the end.