in-other-words-0.2.0.0: src/Control/Effect/Internal/Derive.hs
{-# OPTIONS_HADDOCK not-home #-}
-- | 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