Monad.hs

    {-# LANGUAGE CPP #-}
    #if __GLASGOW_HASKELL__ >= 701
    {-# LANGUAGE Safe #-}
    #endif

    module Monad (
            MonadPlus(mzero, mplus),
            join, guard, when, unless, ap,
            msum,
            filterM, mapAndUnzipM, zipWithM, zipWithM_, foldM,
            liftM, liftM2, liftM3, liftM4, liftM5,

            -- ...and what the Prelude exports
            Monad((>>=), (>>), return, fail),
            Functor(fmap),
            mapM, mapM_, sequence, sequence_, (=<<),
        ) where

    import Control.Monad