{-# OPTIONS_GHC -Wno-orphans #-} module Control.Monad.Class.MonadTime.SI.Trans () where import Control.Monad.Cont import Control.Monad.Except import qualified Control.Monad.RWS.Lazy as Lazy import qualified Control.Monad.RWS.Strict as Strict import qualified Control.Monad.State.Lazy as Lazy import qualified Control.Monad.State.Strict as Strict import qualified Control.Monad.Writer.Lazy as Lazy import qualified Control.Monad.Writer.Strict as Strict import Control.Monad.Class.MonadTime.Trans () import Control.Monad.Class.MonadTime.SI instance MonadMonotonicTime m => MonadMonotonicTime (ExceptT e m) where getMonotonicTime :: ExceptT e m Time getMonotonicTime = forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift forall (m :: * -> *). MonadMonotonicTime m => m Time getMonotonicTime instance MonadMonotonicTime m => MonadMonotonicTime (Lazy.StateT s m) where getMonotonicTime :: StateT s m Time getMonotonicTime = forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift forall (m :: * -> *). MonadMonotonicTime m => m Time getMonotonicTime instance MonadMonotonicTime m => MonadMonotonicTime (Strict.StateT s m) where getMonotonicTime :: StateT s m Time getMonotonicTime = forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift forall (m :: * -> *). MonadMonotonicTime m => m Time getMonotonicTime instance (Monoid w, MonadMonotonicTime m) => MonadMonotonicTime (Lazy.WriterT w m) where getMonotonicTime :: WriterT w m Time getMonotonicTime = forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift forall (m :: * -> *). MonadMonotonicTime m => m Time getMonotonicTime instance (Monoid w, MonadMonotonicTime m) => MonadMonotonicTime (Strict.WriterT w m) where getMonotonicTime :: WriterT w m Time getMonotonicTime = forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift forall (m :: * -> *). MonadMonotonicTime m => m Time getMonotonicTime instance (Monoid w, MonadMonotonicTime m) => MonadMonotonicTime (Lazy.RWST r w s m) where getMonotonicTime :: RWST r w s m Time getMonotonicTime = forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift forall (m :: * -> *). MonadMonotonicTime m => m Time getMonotonicTime instance (Monoid w, MonadMonotonicTime m) => MonadMonotonicTime (Strict.RWST r w s m) where getMonotonicTime :: RWST r w s m Time getMonotonicTime = forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift forall (m :: * -> *). MonadMonotonicTime m => m Time getMonotonicTime instance MonadMonotonicTime m => MonadMonotonicTime (ContT r m) where getMonotonicTime :: ContT r m Time getMonotonicTime = forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift forall (m :: * -> *). MonadMonotonicTime m => m Time getMonotonicTime