module Control.Monad.Classes.Run
(
run
, runReader
, runStateLazy
, runStateStrict
, evalStateLazy
, evalStateStrict
, execStateLazy
, execStateStrict
, runWriterLazy
, runWriterStrict
, evalWriterLazy
, evalWriterStrict
, execWriterLazy
, execWriterStrict
, evalWriterWith
, mapWriter
, CustomWriterT'(..)
, CustomWriterT
, runExcept
, runMaybe
, runZoom
, ZoomT(..)
) where
import Data.Functor.Identity
import Control.Monad.Classes.Zoom
import Control.Monad.Classes.State
import Control.Monad.Classes.Writer
import Control.Monad.Classes.Reader
import Control.Monad.Classes.Except
run :: Identity a -> a
run = runIdentity