-- | Module exporting typical type classes that are newtype-derived by Carriers module Control.Effect.Internal.Derive ( Alternative, MonadPlus , MonadFix, Fail.MonadFail, MonadIO , MonadThrow, MonadCatch, MonadMask , MonadBase, MonadBaseControl , MonadTrans, MonadTransControl , IdentityT ) where -- TODO(KingoftheHomeless?): Make a TH macro which may be used to newtype-derive as many of these classes as possible. import Control.Applicative import Control.Monad import Control.Monad.Trans import qualified Control.Monad.Fail as Fail import Control.Monad.Fix import Control.Monad.Catch import Control.Monad.Base import Control.Monad.Trans.Control import Control.Monad.Trans.Identity