{-# LANGUAGE TypeFamilies, NoMonomorphismRestriction, NoImplicitPrelude, MultiParamTypeClasses, FlexibleInstances, FlexibleContexts, UndecidableInstances #-} {-# LANGUAGE CPP #-} #if __GLASGOW_HASKELL__>=700 {-# LANGUAGE RebindableSyntax #-} #endif module Control.RMonad.Trans where import Control.RMonad.Prelude class RMonadTrans t where lift :: (RMonad m, Suitable m a, Suitable (t m) a) => m a -> t m a class RMonad m => RMonadIO m where liftIO :: Suitable m a => IO a -> m a instance RMonadIO IO where liftIO = id