packages feed

ether 0.3.0.0 → 0.3.1.0

raw patch · 7 files changed

+28/−108 lines, 7 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Control.Ether.Tagged: instance Taggable ((->) r)
- Control.Ether.Tagged: instance Taggable (ContT r m)
- Control.Ether.Tagged: instance Taggable (Either e)
- Control.Ether.Tagged: instance Taggable (ExceptT e m)
- Control.Ether.Tagged: instance Taggable (IdentityT m)
- Control.Ether.Tagged: instance Taggable (ListT m)
- Control.Ether.Tagged: instance Taggable (MaybeT m)
- Control.Ether.Tagged: instance Taggable (ReaderT r m)
- Control.Ether.Tagged: instance Taggable (ST s)
- Control.Ether.Tagged: instance Taggable (StateT s m)
- Control.Ether.Tagged: instance Taggable (WriterT w m)
- Control.Ether.Tagged: instance Taggable First
- Control.Ether.Tagged: instance Taggable IO
- Control.Ether.Tagged: instance Taggable Identity
- Control.Ether.Tagged: instance Taggable Last
- Control.Ether.Tagged: instance Taggable Maybe
- Control.Ether.Tagged: instance Taggable Proxy
- Control.Ether.Tagged: instance Taggable STM
- Control.Ether.Wrapped: instance Alternative m => Alternative (WrappedEther tag m)
- Control.Ether.Wrapped: instance Applicative m => Applicative (WrappedEther tag m)
- Control.Ether.Wrapped: instance Constructor C1_0WrappedEther
- Control.Ether.Wrapped: instance Datatype D1WrappedEther
- Control.Ether.Wrapped: instance Functor m => Functor (WrappedEther tag m)
- Control.Ether.Wrapped: instance Generic (WrappedEther tag m a)
- Control.Ether.Wrapped: instance Monad m => Monad (WrappedEther tag m)
- Control.Ether.Wrapped: instance MonadExcept tag e m => MonadError e (WrappedEther tag m)
- Control.Ether.Wrapped: instance MonadExcept tag e m => MonadExcept tag e (WrappedEther tag' m)
- Control.Ether.Wrapped: instance MonadFix m => MonadFix (WrappedEther tag m)
- Control.Ether.Wrapped: instance MonadIO m => MonadIO (WrappedEther tag m)
- Control.Ether.Wrapped: instance MonadPlus m => MonadPlus (WrappedEther tag m)
- Control.Ether.Wrapped: instance MonadReader tag r m => MonadReader r (WrappedEther tag m)
- Control.Ether.Wrapped: instance MonadReader tag r m => MonadReader tag r (WrappedEther tag' m)
- Control.Ether.Wrapped: instance MonadState tag s m => MonadState s (WrappedEther tag m)
- Control.Ether.Wrapped: instance MonadState tag s m => MonadState tag s (WrappedEther tag' m)
- Control.Ether.Wrapped: instance MonadWriter tag w m => MonadWriter tag w (WrappedEther tag' m)
- Control.Ether.Wrapped: instance MonadWriter tag w m => MonadWriter w (WrappedEther tag m)
- Control.Ether.Wrapped: instance Newtype (WrappedEther tag m a)
- Control.Ether.Wrapped: instance Selector S1_0_0WrappedEther
- Control.Ether.Wrapped: unwrapEther :: WrappedEther tag m a -> m a
- Control.Monad.Ether.Except.Class: instance [overlap ok] (LiftCatch t, Monad (t m), MonadExcept tag e m) => MonadExcept tag e (t m)
- Control.Monad.Ether.Except.Class: instance [overlap ok] Monad m => MonadExcept tag e (ExceptT tag e m)
- Control.Monad.Ether.Reader.Class: instance [overlap ok] (LiftLocal t, Monad (t m), MonadReader tag r m) => MonadReader tag r (t m)
- Control.Monad.Ether.Reader.Class: instance [overlap ok] Monad m => MonadReader tag r (ReaderT tag r m)
- Control.Monad.Ether.State.Class: instance [overlap ok] (Monoid w, MonadState tag s m) => MonadState tag s (WriterT tag' w m)
- Control.Monad.Ether.State.Class: instance [overlap ok] (Monoid w, MonadState tag s m) => MonadState tag s (WriterT w m)
- Control.Monad.Ether.State.Class: instance [overlap ok] Monad m => MonadState tag s (StateT tag s m)
- Control.Monad.Ether.State.Class: instance [overlap ok] MonadState tag s m => MonadState tag s (ContT r m)
- Control.Monad.Ether.State.Class: instance [overlap ok] MonadState tag s m => MonadState tag s (ExceptT e m)
- Control.Monad.Ether.State.Class: instance [overlap ok] MonadState tag s m => MonadState tag s (ExceptT tag' e m)
- Control.Monad.Ether.State.Class: instance [overlap ok] MonadState tag s m => MonadState tag s (IdentityT m)
- Control.Monad.Ether.State.Class: instance [overlap ok] MonadState tag s m => MonadState tag s (ListT m)
- Control.Monad.Ether.State.Class: instance [overlap ok] MonadState tag s m => MonadState tag s (MaybeT m)
- Control.Monad.Ether.State.Class: instance [overlap ok] MonadState tag s m => MonadState tag s (ReaderT r m)
- Control.Monad.Ether.State.Class: instance [overlap ok] MonadState tag s m => MonadState tag s (ReaderT tag' r m)
- Control.Monad.Ether.State.Class: instance [overlap ok] MonadState tag s m => MonadState tag s (StateT s' m)
- Control.Monad.Ether.State.Class: instance [overlap ok] MonadState tag s m => MonadState tag s (StateT tag' s' m)
- Control.Monad.Ether.Writer.Class: instance [overlap ok] (LiftListen t, LiftPass t, Monad (t m), MonadWriter tag w m, Monoid w) => MonadWriter tag w (t m)
- Control.Monad.Ether.Writer.Class: instance [overlap ok] (Monoid w, Monad m) => MonadWriter tag w (WriterT tag w m)
- Control.Monad.Trans.Ether.Except: instance (Monad m, Functor m) => Applicative (ExceptT tag e m)
- Control.Monad.Trans.Ether.Except: instance (Monad m, Functor m, Monoid e) => Alternative (ExceptT tag e m)
- Control.Monad.Trans.Ether.Except: instance (Monad m, Monoid e) => MonadPlus (ExceptT tag e m)
- Control.Monad.Trans.Ether.Except: instance Constructor C1_0ExceptT
- Control.Monad.Trans.Ether.Except: instance Datatype D1ExceptT
- Control.Monad.Trans.Ether.Except: instance Functor m => Functor (ExceptT tag e m)
- Control.Monad.Trans.Ether.Except: instance Generic (ExceptT tag e m a)
- Control.Monad.Trans.Ether.Except: instance LiftCallCC (ExceptT tag e)
- Control.Monad.Trans.Ether.Except: instance LiftCatch (ExceptT tag e)
- Control.Monad.Trans.Ether.Except: instance LiftListen (ExceptT tag e)
- Control.Monad.Trans.Ether.Except: instance LiftLocal (ExceptT tag e)
- Control.Monad.Trans.Ether.Except: instance LiftPass (ExceptT tag e)
- Control.Monad.Trans.Ether.Except: instance MFunctor (ExceptT tag e)
- Control.Monad.Trans.Ether.Except: instance MMonad (ExceptT tag e)
- Control.Monad.Trans.Ether.Except: instance Monad m => Monad (ExceptT tag e m)
- Control.Monad.Trans.Ether.Except: instance MonadBase b m => MonadBase b (ExceptT tag e m)
- Control.Monad.Trans.Ether.Except: instance MonadBaseControl b m => MonadBaseControl b (ExceptT tag e m)
- Control.Monad.Trans.Ether.Except: instance MonadCont m => MonadCont (ExceptT tag e m)
- Control.Monad.Trans.Ether.Except: instance MonadError e' m => MonadError e' (ExceptT tag e m)
- Control.Monad.Trans.Ether.Except: instance MonadFix m => MonadFix (ExceptT tag e m)
- Control.Monad.Trans.Ether.Except: instance MonadIO m => MonadIO (ExceptT tag e m)
- Control.Monad.Trans.Ether.Except: instance MonadReader r m => MonadReader r (ExceptT tag e m)
- Control.Monad.Trans.Ether.Except: instance MonadState s m => MonadState s (ExceptT tag e m)
- Control.Monad.Trans.Ether.Except: instance MonadTrans (ExceptT tag e)
- Control.Monad.Trans.Ether.Except: instance MonadTransControl (ExceptT tag e)
- Control.Monad.Trans.Ether.Except: instance MonadWriter w m => MonadWriter w (ExceptT tag e m)
- Control.Monad.Trans.Ether.Except: instance Newtype (ExceptT tag e m a)
- Control.Monad.Trans.Ether.Except: instance Taggable (ExceptT tag e m)
- Control.Monad.Trans.Ether.Except: instance Tagged (ExceptT tag e m) tag
- Control.Monad.Trans.Ether.Reader: instance Alternative m => Alternative (ReaderT tag r m)
- Control.Monad.Trans.Ether.Reader: instance Applicative m => Applicative (ReaderT tag r m)
- Control.Monad.Trans.Ether.Reader: instance Constructor C1_0ReaderT
- Control.Monad.Trans.Ether.Reader: instance Datatype D1ReaderT
- Control.Monad.Trans.Ether.Reader: instance Functor m => Functor (ReaderT tag r m)
- Control.Monad.Trans.Ether.Reader: instance Generic (ReaderT tag r m a)
- Control.Monad.Trans.Ether.Reader: instance LiftCallCC (ReaderT tag r)
- Control.Monad.Trans.Ether.Reader: instance LiftCatch (ReaderT tag r)
- Control.Monad.Trans.Ether.Reader: instance LiftListen (ReaderT tag r)
- Control.Monad.Trans.Ether.Reader: instance LiftLocal (ReaderT tag r)
- Control.Monad.Trans.Ether.Reader: instance LiftPass (ReaderT tag r)
- Control.Monad.Trans.Ether.Reader: instance MFunctor (ReaderT tag r)
- Control.Monad.Trans.Ether.Reader: instance MMonad (ReaderT tag r)
- Control.Monad.Trans.Ether.Reader: instance Monad m => Monad (ReaderT tag r m)
- Control.Monad.Trans.Ether.Reader: instance MonadBase b m => MonadBase b (ReaderT tag r m)
- Control.Monad.Trans.Ether.Reader: instance MonadBaseControl b m => MonadBaseControl b (ReaderT tag r m)
- Control.Monad.Trans.Ether.Reader: instance MonadCont m => MonadCont (ReaderT tag r m)
- Control.Monad.Trans.Ether.Reader: instance MonadError e m => MonadError e (ReaderT tag r m)
- Control.Monad.Trans.Ether.Reader: instance MonadFix m => MonadFix (ReaderT tag r m)
- Control.Monad.Trans.Ether.Reader: instance MonadIO m => MonadIO (ReaderT tag r m)
- Control.Monad.Trans.Ether.Reader: instance MonadPlus m => MonadPlus (ReaderT tag r m)
- Control.Monad.Trans.Ether.Reader: instance MonadReader r' m => MonadReader r' (ReaderT tag r m)
- Control.Monad.Trans.Ether.Reader: instance MonadState s m => MonadState s (ReaderT tag r m)
- Control.Monad.Trans.Ether.Reader: instance MonadTrans (ReaderT tag r)
- Control.Monad.Trans.Ether.Reader: instance MonadTransControl (ReaderT tag r)
- Control.Monad.Trans.Ether.Reader: instance MonadWriter w m => MonadWriter w (ReaderT tag r m)
- Control.Monad.Trans.Ether.Reader: instance Newtype (ReaderT tag r m a)
- Control.Monad.Trans.Ether.Reader: instance Taggable (ReaderT tag r m)
- Control.Monad.Trans.Ether.Reader: instance Tagged (ReaderT tag r m) tag
- Control.Monad.Trans.Ether.State.Lazy: instance (Functor m, MonadPlus m) => Alternative (StateT tag s m)
- Control.Monad.Trans.Ether.State.Lazy: instance (Monad m, Functor m) => Applicative (StateT tag s m)
- Control.Monad.Trans.Ether.State.Lazy: instance Constructor C1_0StateT
- Control.Monad.Trans.Ether.State.Lazy: instance Datatype D1StateT
- Control.Monad.Trans.Ether.State.Lazy: instance Functor m => Functor (StateT tag s m)
- Control.Monad.Trans.Ether.State.Lazy: instance Generic (StateT tag s m a)
- Control.Monad.Trans.Ether.State.Lazy: instance LiftCallCC (StateT tag s)
- Control.Monad.Trans.Ether.State.Lazy: instance LiftCatch (StateT tag s)
- Control.Monad.Trans.Ether.State.Lazy: instance LiftListen (StateT tag s)
- Control.Monad.Trans.Ether.State.Lazy: instance LiftLocal (StateT tag s)
- Control.Monad.Trans.Ether.State.Lazy: instance LiftPass (StateT tag s)
- Control.Monad.Trans.Ether.State.Lazy: instance MFunctor (StateT tag s)
- Control.Monad.Trans.Ether.State.Lazy: instance Monad m => Monad (StateT tag s m)
- Control.Monad.Trans.Ether.State.Lazy: instance MonadBase b m => MonadBase b (StateT tag s m)
- Control.Monad.Trans.Ether.State.Lazy: instance MonadBaseControl b m => MonadBaseControl b (StateT tag s m)
- Control.Monad.Trans.Ether.State.Lazy: instance MonadCont m => MonadCont (StateT tag s m)
- Control.Monad.Trans.Ether.State.Lazy: instance MonadError e m => MonadError e (StateT tag s m)
- Control.Monad.Trans.Ether.State.Lazy: instance MonadFix m => MonadFix (StateT tag s m)
- Control.Monad.Trans.Ether.State.Lazy: instance MonadIO m => MonadIO (StateT tag s m)
- Control.Monad.Trans.Ether.State.Lazy: instance MonadPlus m => MonadPlus (StateT tag s m)
- Control.Monad.Trans.Ether.State.Lazy: instance MonadReader r m => MonadReader r (StateT tag s m)
- Control.Monad.Trans.Ether.State.Lazy: instance MonadState s' m => MonadState s' (StateT tag s m)
- Control.Monad.Trans.Ether.State.Lazy: instance MonadTrans (StateT tag s)
- Control.Monad.Trans.Ether.State.Lazy: instance MonadTransControl (StateT tag s)
- Control.Monad.Trans.Ether.State.Lazy: instance MonadWriter w m => MonadWriter w (StateT tag s m)
- Control.Monad.Trans.Ether.State.Lazy: instance Newtype (StateT tag s m a)
- Control.Monad.Trans.Ether.State.Lazy: instance Taggable (StateT tag s m)
- Control.Monad.Trans.Ether.State.Lazy: instance Tagged (StateT tag s m) tag
- Control.Monad.Trans.Ether.State.Strict: instance (Functor m, MonadPlus m) => Alternative (StateT tag s m)
- Control.Monad.Trans.Ether.State.Strict: instance (Monad m, Functor m) => Applicative (StateT tag s m)
- Control.Monad.Trans.Ether.State.Strict: instance Constructor C1_0StateT
- Control.Monad.Trans.Ether.State.Strict: instance Datatype D1StateT
- Control.Monad.Trans.Ether.State.Strict: instance Functor m => Functor (StateT tag s m)
- Control.Monad.Trans.Ether.State.Strict: instance Generic (StateT tag s m a)
- Control.Monad.Trans.Ether.State.Strict: instance LiftCallCC (StateT tag s)
- Control.Monad.Trans.Ether.State.Strict: instance LiftCatch (StateT tag s)
- Control.Monad.Trans.Ether.State.Strict: instance LiftListen (StateT tag s)
- Control.Monad.Trans.Ether.State.Strict: instance LiftLocal (StateT tag s)
- Control.Monad.Trans.Ether.State.Strict: instance LiftPass (StateT tag s)
- Control.Monad.Trans.Ether.State.Strict: instance MFunctor (StateT tag s)
- Control.Monad.Trans.Ether.State.Strict: instance Monad m => Monad (StateT tag s m)
- Control.Monad.Trans.Ether.State.Strict: instance MonadBase b m => MonadBase b (StateT tag s m)
- Control.Monad.Trans.Ether.State.Strict: instance MonadBaseControl b m => MonadBaseControl b (StateT tag s m)
- Control.Monad.Trans.Ether.State.Strict: instance MonadCont m => MonadCont (StateT tag s m)
- Control.Monad.Trans.Ether.State.Strict: instance MonadError e m => MonadError e (StateT tag s m)
- Control.Monad.Trans.Ether.State.Strict: instance MonadFix m => MonadFix (StateT tag s m)
- Control.Monad.Trans.Ether.State.Strict: instance MonadIO m => MonadIO (StateT tag s m)
- Control.Monad.Trans.Ether.State.Strict: instance MonadPlus m => MonadPlus (StateT tag s m)
- Control.Monad.Trans.Ether.State.Strict: instance MonadReader r m => MonadReader r (StateT tag s m)
- Control.Monad.Trans.Ether.State.Strict: instance MonadState s' m => MonadState s' (StateT tag s m)
- Control.Monad.Trans.Ether.State.Strict: instance MonadTrans (StateT tag s)
- Control.Monad.Trans.Ether.State.Strict: instance MonadTransControl (StateT tag s)
- Control.Monad.Trans.Ether.State.Strict: instance MonadWriter w m => MonadWriter w (StateT tag s m)
- Control.Monad.Trans.Ether.State.Strict: instance Newtype (StateT tag s m a)
- Control.Monad.Trans.Ether.State.Strict: instance Taggable (StateT tag s m)
- Control.Monad.Trans.Ether.State.Strict: instance Tagged (StateT tag s m) tag
- Control.Monad.Trans.Ether.Writer: instance (Alternative m, Monoid w) => Alternative (WriterT tag w m)
- Control.Monad.Trans.Ether.Writer: instance (Applicative m, Monoid w) => Applicative (WriterT tag w m)
- Control.Monad.Trans.Ether.Writer: instance (Monad m, Monoid w) => Monad (WriterT tag w m)
- Control.Monad.Trans.Ether.Writer: instance (MonadFix m, Monoid w) => MonadFix (WriterT tag w m)
- Control.Monad.Trans.Ether.Writer: instance (MonadPlus m, Monoid w) => MonadPlus (WriterT tag w m)
- Control.Monad.Trans.Ether.Writer: instance (Monoid w, MonadBase b m) => MonadBase b (WriterT tag w m)
- Control.Monad.Trans.Ether.Writer: instance (Monoid w, MonadBaseControl b m) => MonadBaseControl b (WriterT tag w m)
- Control.Monad.Trans.Ether.Writer: instance (Monoid w, MonadCont m) => MonadCont (WriterT tag w m)
- Control.Monad.Trans.Ether.Writer: instance (Monoid w, MonadError e m) => MonadError e (WriterT tag w m)
- Control.Monad.Trans.Ether.Writer: instance (Monoid w, MonadIO m) => MonadIO (WriterT tag w m)
- Control.Monad.Trans.Ether.Writer: instance (Monoid w, MonadReader r m) => MonadReader r (WriterT tag w m)
- Control.Monad.Trans.Ether.Writer: instance (Monoid w, MonadState s m) => MonadState s (WriterT tag w m)
- Control.Monad.Trans.Ether.Writer: instance (Monoid w, MonadWriter w' m) => MonadWriter w' (WriterT tag w m)
- Control.Monad.Trans.Ether.Writer: instance Constructor C1_0WriterT
- Control.Monad.Trans.Ether.Writer: instance Datatype D1WriterT
- Control.Monad.Trans.Ether.Writer: instance Functor m => Functor (WriterT tag w m)
- Control.Monad.Trans.Ether.Writer: instance Generic (WriterT tag w m a)
- Control.Monad.Trans.Ether.Writer: instance MFunctor (WriterT tag w)
- Control.Monad.Trans.Ether.Writer: instance Monoid w => LiftCallCC (WriterT tag w)
- Control.Monad.Trans.Ether.Writer: instance Monoid w => LiftCatch (WriterT tag w)
- Control.Monad.Trans.Ether.Writer: instance Monoid w => LiftListen (WriterT tag w)
- Control.Monad.Trans.Ether.Writer: instance Monoid w => LiftLocal (WriterT tag w)
- Control.Monad.Trans.Ether.Writer: instance Monoid w => MMonad (WriterT tag w)
- Control.Monad.Trans.Ether.Writer: instance Monoid w => MonadTrans (WriterT tag w)
- Control.Monad.Trans.Ether.Writer: instance Monoid w => MonadTransControl (WriterT tag w)
- Control.Monad.Trans.Ether.Writer: instance Monoid w' => LiftPass (WriterT tag w')
- Control.Monad.Trans.Ether.Writer: instance Newtype (WriterT tag w m a)
- Control.Monad.Trans.Ether.Writer: instance Taggable (WriterT tag w m)
- Control.Monad.Trans.Ether.Writer: instance Tagged (WriterT tag w m) tag
+ Control.Ether.Tagged: instance Control.Ether.Tagged.Taggable ((->) r)
+ Control.Ether.Tagged: instance Control.Ether.Tagged.Taggable (Control.Monad.ST.Lazy.Imp.ST s)
+ Control.Ether.Tagged: instance Control.Ether.Tagged.Taggable (Control.Monad.Trans.Cont.ContT r m)
+ Control.Ether.Tagged: instance Control.Ether.Tagged.Taggable (Control.Monad.Trans.Except.ExceptT e m)
+ Control.Ether.Tagged: instance Control.Ether.Tagged.Taggable (Control.Monad.Trans.Identity.IdentityT m)
+ Control.Ether.Tagged: instance Control.Ether.Tagged.Taggable (Control.Monad.Trans.List.ListT m)
+ Control.Ether.Tagged: instance Control.Ether.Tagged.Taggable (Control.Monad.Trans.Maybe.MaybeT m)
+ Control.Ether.Tagged: instance Control.Ether.Tagged.Taggable (Control.Monad.Trans.Reader.ReaderT r m)
+ Control.Ether.Tagged: instance Control.Ether.Tagged.Taggable (Control.Monad.Trans.State.Lazy.StateT s m)
+ Control.Ether.Tagged: instance Control.Ether.Tagged.Taggable (Control.Monad.Trans.State.Strict.StateT s m)
+ Control.Ether.Tagged: instance Control.Ether.Tagged.Taggable (Control.Monad.Trans.Writer.Lazy.WriterT w m)
+ Control.Ether.Tagged: instance Control.Ether.Tagged.Taggable (Control.Monad.Trans.Writer.Strict.WriterT w m)
+ Control.Ether.Tagged: instance Control.Ether.Tagged.Taggable (Data.Either.Either e)
+ Control.Ether.Tagged: instance Control.Ether.Tagged.Taggable (GHC.ST.ST s)
+ Control.Ether.Tagged: instance Control.Ether.Tagged.Taggable Data.Functor.Identity.Identity
+ Control.Ether.Tagged: instance Control.Ether.Tagged.Taggable Data.Monoid.First
+ Control.Ether.Tagged: instance Control.Ether.Tagged.Taggable Data.Monoid.Last
+ Control.Ether.Tagged: instance Control.Ether.Tagged.Taggable Data.Proxy.Proxy
+ Control.Ether.Tagged: instance Control.Ether.Tagged.Taggable GHC.Base.Maybe
+ Control.Ether.Tagged: instance Control.Ether.Tagged.Taggable GHC.Conc.Sync.STM
+ Control.Ether.Tagged: instance Control.Ether.Tagged.Taggable GHC.Types.IO
+ Control.Ether.Wrapped: [unwrapEther] :: WrappedEther tag m a -> m a
+ Control.Ether.Wrapped: instance Control.Monad.Ether.Except.Class.MonadExcept tag e m => Control.Monad.Error.Class.MonadError e (Control.Ether.Wrapped.WrappedEther tag m)
+ Control.Ether.Wrapped: instance Control.Monad.Ether.Except.Class.MonadExcept tag e m => Control.Monad.Ether.Except.Class.MonadExcept tag e (Control.Ether.Wrapped.WrappedEther tag' m)
+ Control.Ether.Wrapped: instance Control.Monad.Ether.Reader.Class.MonadReader tag r m => Control.Monad.Ether.Reader.Class.MonadReader tag r (Control.Ether.Wrapped.WrappedEther tag' m)
+ Control.Ether.Wrapped: instance Control.Monad.Ether.Reader.Class.MonadReader tag r m => Control.Monad.Reader.Class.MonadReader r (Control.Ether.Wrapped.WrappedEther tag m)
+ Control.Ether.Wrapped: instance Control.Monad.Ether.State.Class.MonadState tag s m => Control.Monad.Ether.State.Class.MonadState tag s (Control.Ether.Wrapped.WrappedEther tag' m)
+ Control.Ether.Wrapped: instance Control.Monad.Ether.State.Class.MonadState tag s m => Control.Monad.State.Class.MonadState s (Control.Ether.Wrapped.WrappedEther tag m)
+ Control.Ether.Wrapped: instance Control.Monad.Ether.Writer.Class.MonadWriter tag w m => Control.Monad.Ether.Writer.Class.MonadWriter tag w (Control.Ether.Wrapped.WrappedEther tag' m)
+ Control.Ether.Wrapped: instance Control.Monad.Ether.Writer.Class.MonadWriter tag w m => Control.Monad.Writer.Class.MonadWriter w (Control.Ether.Wrapped.WrappedEther tag m)
+ Control.Ether.Wrapped: instance Control.Monad.Fix.MonadFix m => Control.Monad.Fix.MonadFix (Control.Ether.Wrapped.WrappedEther tag m)
+ Control.Ether.Wrapped: instance Control.Monad.IO.Class.MonadIO m => Control.Monad.IO.Class.MonadIO (Control.Ether.Wrapped.WrappedEther tag m)
+ Control.Ether.Wrapped: instance Control.Newtype.Newtype (Control.Ether.Wrapped.WrappedEther tag m a)
+ Control.Ether.Wrapped: instance GHC.Base.Alternative m => GHC.Base.Alternative (Control.Ether.Wrapped.WrappedEther tag m)
+ Control.Ether.Wrapped: instance GHC.Base.Applicative m => GHC.Base.Applicative (Control.Ether.Wrapped.WrappedEther tag m)
+ Control.Ether.Wrapped: instance GHC.Base.Functor m => GHC.Base.Functor (Control.Ether.Wrapped.WrappedEther tag m)
+ Control.Ether.Wrapped: instance GHC.Base.Monad m => GHC.Base.Monad (Control.Ether.Wrapped.WrappedEther tag m)
+ Control.Ether.Wrapped: instance GHC.Base.MonadPlus m => GHC.Base.MonadPlus (Control.Ether.Wrapped.WrappedEther tag m)
+ Control.Ether.Wrapped: instance GHC.Generics.Constructor Control.Ether.Wrapped.C1_0WrappedEther
+ Control.Ether.Wrapped: instance GHC.Generics.Datatype Control.Ether.Wrapped.D1WrappedEther
+ Control.Ether.Wrapped: instance GHC.Generics.Generic (Control.Ether.Wrapped.WrappedEther tag m a)
+ Control.Ether.Wrapped: instance GHC.Generics.Selector Control.Ether.Wrapped.S1_0_0WrappedEther
+ Control.Monad.Ether.Except.Class: instance (Control.Monad.Trans.Lift.Catch.LiftCatch t, GHC.Base.Monad (t m), Control.Monad.Ether.Except.Class.MonadExcept tag e m) => Control.Monad.Ether.Except.Class.MonadExcept tag e (t m)
+ Control.Monad.Ether.Except.Class: instance GHC.Base.Monad m => Control.Monad.Ether.Except.Class.MonadExcept tag e (Control.Monad.Trans.Ether.Except.ExceptT tag e m)
+ Control.Monad.Ether.Reader.Class: instance (Control.Monad.Trans.Lift.Local.LiftLocal t, GHC.Base.Monad (t m), Control.Monad.Ether.Reader.Class.MonadReader tag r m) => Control.Monad.Ether.Reader.Class.MonadReader tag r (t m)
+ Control.Monad.Ether.Reader.Class: instance GHC.Base.Monad m => Control.Monad.Ether.Reader.Class.MonadReader tag r (Control.Monad.Trans.Ether.Reader.ReaderT tag r m)
+ Control.Monad.Ether.State.Class: instance (Control.Monad.Trans.Class.MonadTrans t, GHC.Base.Monad (t m), Control.Monad.Ether.State.Class.MonadState tag s m) => Control.Monad.Ether.State.Class.MonadState tag s (t m)
+ Control.Monad.Ether.State.Class: instance GHC.Base.Monad m => Control.Monad.Ether.State.Class.MonadState tag s (Control.Monad.Trans.Ether.State.Lazy.StateT tag s m)
+ Control.Monad.Ether.State.Class: instance GHC.Base.Monad m => Control.Monad.Ether.State.Class.MonadState tag s (Control.Monad.Trans.Ether.State.Strict.StateT tag s m)
+ Control.Monad.Ether.Writer.Class: instance (Control.Monad.Trans.Lift.Listen.LiftListen t, Control.Monad.Trans.Lift.Pass.LiftPass t, GHC.Base.Monad (t m), Control.Monad.Ether.Writer.Class.MonadWriter tag w m, GHC.Base.Monoid w) => Control.Monad.Ether.Writer.Class.MonadWriter tag w (t m)
+ Control.Monad.Ether.Writer.Class: instance (GHC.Base.Monoid w, GHC.Base.Monad m) => Control.Monad.Ether.Writer.Class.MonadWriter tag w (Control.Monad.Trans.Ether.Writer.WriterT tag w m)
+ Control.Monad.Trans.Ether.Except: instance (GHC.Base.Monad m, GHC.Base.Monoid e) => GHC.Base.Alternative (Control.Monad.Trans.Ether.Except.ExceptT tag e m)
+ Control.Monad.Trans.Ether.Except: instance (GHC.Base.Monad m, GHC.Base.Monoid e) => GHC.Base.MonadPlus (Control.Monad.Trans.Ether.Except.ExceptT tag e m)
+ Control.Monad.Trans.Ether.Except: instance Control.Ether.Tagged.Taggable (Control.Monad.Trans.Ether.Except.ExceptT tag e m)
+ Control.Monad.Trans.Ether.Except: instance Control.Ether.Tagged.Tagged (Control.Monad.Trans.Ether.Except.ExceptT tag e m) tag
+ Control.Monad.Trans.Ether.Except: instance Control.Monad.Base.MonadBase b m => Control.Monad.Base.MonadBase b (Control.Monad.Trans.Ether.Except.ExceptT tag e m)
+ Control.Monad.Trans.Ether.Except: instance Control.Monad.Cont.Class.MonadCont m => Control.Monad.Cont.Class.MonadCont (Control.Monad.Trans.Ether.Except.ExceptT tag e m)
+ Control.Monad.Trans.Ether.Except: instance Control.Monad.Error.Class.MonadError e' m => Control.Monad.Error.Class.MonadError e' (Control.Monad.Trans.Ether.Except.ExceptT tag e m)
+ Control.Monad.Trans.Ether.Except: instance Control.Monad.Fix.MonadFix m => Control.Monad.Fix.MonadFix (Control.Monad.Trans.Ether.Except.ExceptT tag e m)
+ Control.Monad.Trans.Ether.Except: instance Control.Monad.IO.Class.MonadIO m => Control.Monad.IO.Class.MonadIO (Control.Monad.Trans.Ether.Except.ExceptT tag e m)
+ Control.Monad.Trans.Ether.Except: instance Control.Monad.Morph.MFunctor (Control.Monad.Trans.Ether.Except.ExceptT tag e)
+ Control.Monad.Trans.Ether.Except: instance Control.Monad.Morph.MMonad (Control.Monad.Trans.Ether.Except.ExceptT tag e)
+ Control.Monad.Trans.Ether.Except: instance Control.Monad.Reader.Class.MonadReader r m => Control.Monad.Reader.Class.MonadReader r (Control.Monad.Trans.Ether.Except.ExceptT tag e m)
+ Control.Monad.Trans.Ether.Except: instance Control.Monad.State.Class.MonadState s m => Control.Monad.State.Class.MonadState s (Control.Monad.Trans.Ether.Except.ExceptT tag e m)
+ Control.Monad.Trans.Ether.Except: instance Control.Monad.Trans.Class.MonadTrans (Control.Monad.Trans.Ether.Except.ExceptT tag e)
+ Control.Monad.Trans.Ether.Except: instance Control.Monad.Trans.Control.MonadBaseControl b m => Control.Monad.Trans.Control.MonadBaseControl b (Control.Monad.Trans.Ether.Except.ExceptT tag e m)
+ Control.Monad.Trans.Ether.Except: instance Control.Monad.Trans.Control.MonadTransControl (Control.Monad.Trans.Ether.Except.ExceptT tag e)
+ Control.Monad.Trans.Ether.Except: instance Control.Monad.Trans.Lift.CallCC.LiftCallCC (Control.Monad.Trans.Ether.Except.ExceptT tag e)
+ Control.Monad.Trans.Ether.Except: instance Control.Monad.Trans.Lift.Catch.LiftCatch (Control.Monad.Trans.Ether.Except.ExceptT tag e)
+ Control.Monad.Trans.Ether.Except: instance Control.Monad.Trans.Lift.Listen.LiftListen (Control.Monad.Trans.Ether.Except.ExceptT tag e)
+ Control.Monad.Trans.Ether.Except: instance Control.Monad.Trans.Lift.Local.LiftLocal (Control.Monad.Trans.Ether.Except.ExceptT tag e)
+ Control.Monad.Trans.Ether.Except: instance Control.Monad.Trans.Lift.Pass.LiftPass (Control.Monad.Trans.Ether.Except.ExceptT tag e)
+ Control.Monad.Trans.Ether.Except: instance Control.Monad.Writer.Class.MonadWriter w m => Control.Monad.Writer.Class.MonadWriter w (Control.Monad.Trans.Ether.Except.ExceptT tag e m)
+ Control.Monad.Trans.Ether.Except: instance Control.Newtype.Newtype (Control.Monad.Trans.Ether.Except.ExceptT tag e m a)
+ Control.Monad.Trans.Ether.Except: instance GHC.Base.Functor m => GHC.Base.Functor (Control.Monad.Trans.Ether.Except.ExceptT tag e m)
+ Control.Monad.Trans.Ether.Except: instance GHC.Base.Monad m => GHC.Base.Applicative (Control.Monad.Trans.Ether.Except.ExceptT tag e m)
+ Control.Monad.Trans.Ether.Except: instance GHC.Base.Monad m => GHC.Base.Monad (Control.Monad.Trans.Ether.Except.ExceptT tag e m)
+ Control.Monad.Trans.Ether.Except: instance GHC.Generics.Constructor Control.Monad.Trans.Ether.Except.C1_0ExceptT
+ Control.Monad.Trans.Ether.Except: instance GHC.Generics.Datatype Control.Monad.Trans.Ether.Except.D1ExceptT
+ Control.Monad.Trans.Ether.Except: instance GHC.Generics.Generic (Control.Monad.Trans.Ether.Except.ExceptT tag e m a)
+ Control.Monad.Trans.Ether.Reader: instance Control.Ether.Tagged.Taggable (Control.Monad.Trans.Ether.Reader.ReaderT tag r m)
+ Control.Monad.Trans.Ether.Reader: instance Control.Ether.Tagged.Tagged (Control.Monad.Trans.Ether.Reader.ReaderT tag r m) tag
+ Control.Monad.Trans.Ether.Reader: instance Control.Monad.Base.MonadBase b m => Control.Monad.Base.MonadBase b (Control.Monad.Trans.Ether.Reader.ReaderT tag r m)
+ Control.Monad.Trans.Ether.Reader: instance Control.Monad.Cont.Class.MonadCont m => Control.Monad.Cont.Class.MonadCont (Control.Monad.Trans.Ether.Reader.ReaderT tag r m)
+ Control.Monad.Trans.Ether.Reader: instance Control.Monad.Error.Class.MonadError e m => Control.Monad.Error.Class.MonadError e (Control.Monad.Trans.Ether.Reader.ReaderT tag r m)
+ Control.Monad.Trans.Ether.Reader: instance Control.Monad.Fix.MonadFix m => Control.Monad.Fix.MonadFix (Control.Monad.Trans.Ether.Reader.ReaderT tag r m)
+ Control.Monad.Trans.Ether.Reader: instance Control.Monad.IO.Class.MonadIO m => Control.Monad.IO.Class.MonadIO (Control.Monad.Trans.Ether.Reader.ReaderT tag r m)
+ Control.Monad.Trans.Ether.Reader: instance Control.Monad.Morph.MFunctor (Control.Monad.Trans.Ether.Reader.ReaderT tag r)
+ Control.Monad.Trans.Ether.Reader: instance Control.Monad.Morph.MMonad (Control.Monad.Trans.Ether.Reader.ReaderT tag r)
+ Control.Monad.Trans.Ether.Reader: instance Control.Monad.Reader.Class.MonadReader r' m => Control.Monad.Reader.Class.MonadReader r' (Control.Monad.Trans.Ether.Reader.ReaderT tag r m)
+ Control.Monad.Trans.Ether.Reader: instance Control.Monad.State.Class.MonadState s m => Control.Monad.State.Class.MonadState s (Control.Monad.Trans.Ether.Reader.ReaderT tag r m)
+ Control.Monad.Trans.Ether.Reader: instance Control.Monad.Trans.Class.MonadTrans (Control.Monad.Trans.Ether.Reader.ReaderT tag r)
+ Control.Monad.Trans.Ether.Reader: instance Control.Monad.Trans.Control.MonadBaseControl b m => Control.Monad.Trans.Control.MonadBaseControl b (Control.Monad.Trans.Ether.Reader.ReaderT tag r m)
+ Control.Monad.Trans.Ether.Reader: instance Control.Monad.Trans.Control.MonadTransControl (Control.Monad.Trans.Ether.Reader.ReaderT tag r)
+ Control.Monad.Trans.Ether.Reader: instance Control.Monad.Trans.Lift.CallCC.LiftCallCC (Control.Monad.Trans.Ether.Reader.ReaderT tag r)
+ Control.Monad.Trans.Ether.Reader: instance Control.Monad.Trans.Lift.Catch.LiftCatch (Control.Monad.Trans.Ether.Reader.ReaderT tag r)
+ Control.Monad.Trans.Ether.Reader: instance Control.Monad.Trans.Lift.Listen.LiftListen (Control.Monad.Trans.Ether.Reader.ReaderT tag r)
+ Control.Monad.Trans.Ether.Reader: instance Control.Monad.Trans.Lift.Local.LiftLocal (Control.Monad.Trans.Ether.Reader.ReaderT tag r)
+ Control.Monad.Trans.Ether.Reader: instance Control.Monad.Trans.Lift.Pass.LiftPass (Control.Monad.Trans.Ether.Reader.ReaderT tag r)
+ Control.Monad.Trans.Ether.Reader: instance Control.Monad.Writer.Class.MonadWriter w m => Control.Monad.Writer.Class.MonadWriter w (Control.Monad.Trans.Ether.Reader.ReaderT tag r m)
+ Control.Monad.Trans.Ether.Reader: instance Control.Newtype.Newtype (Control.Monad.Trans.Ether.Reader.ReaderT tag r m a)
+ Control.Monad.Trans.Ether.Reader: instance GHC.Base.Alternative m => GHC.Base.Alternative (Control.Monad.Trans.Ether.Reader.ReaderT tag r m)
+ Control.Monad.Trans.Ether.Reader: instance GHC.Base.Applicative m => GHC.Base.Applicative (Control.Monad.Trans.Ether.Reader.ReaderT tag r m)
+ Control.Monad.Trans.Ether.Reader: instance GHC.Base.Functor m => GHC.Base.Functor (Control.Monad.Trans.Ether.Reader.ReaderT tag r m)
+ Control.Monad.Trans.Ether.Reader: instance GHC.Base.Monad m => GHC.Base.Monad (Control.Monad.Trans.Ether.Reader.ReaderT tag r m)
+ Control.Monad.Trans.Ether.Reader: instance GHC.Base.MonadPlus m => GHC.Base.MonadPlus (Control.Monad.Trans.Ether.Reader.ReaderT tag r m)
+ Control.Monad.Trans.Ether.Reader: instance GHC.Generics.Constructor Control.Monad.Trans.Ether.Reader.C1_0ReaderT
+ Control.Monad.Trans.Ether.Reader: instance GHC.Generics.Datatype Control.Monad.Trans.Ether.Reader.D1ReaderT
+ Control.Monad.Trans.Ether.Reader: instance GHC.Generics.Generic (Control.Monad.Trans.Ether.Reader.ReaderT tag r m a)
+ Control.Monad.Trans.Ether.State.Lazy: instance Control.Ether.Tagged.Taggable (Control.Monad.Trans.Ether.State.Lazy.StateT tag s m)
+ Control.Monad.Trans.Ether.State.Lazy: instance Control.Ether.Tagged.Tagged (Control.Monad.Trans.Ether.State.Lazy.StateT tag s m) tag
+ Control.Monad.Trans.Ether.State.Lazy: instance Control.Monad.Base.MonadBase b m => Control.Monad.Base.MonadBase b (Control.Monad.Trans.Ether.State.Lazy.StateT tag s m)
+ Control.Monad.Trans.Ether.State.Lazy: instance Control.Monad.Cont.Class.MonadCont m => Control.Monad.Cont.Class.MonadCont (Control.Monad.Trans.Ether.State.Lazy.StateT tag s m)
+ Control.Monad.Trans.Ether.State.Lazy: instance Control.Monad.Error.Class.MonadError e m => Control.Monad.Error.Class.MonadError e (Control.Monad.Trans.Ether.State.Lazy.StateT tag s m)
+ Control.Monad.Trans.Ether.State.Lazy: instance Control.Monad.Fix.MonadFix m => Control.Monad.Fix.MonadFix (Control.Monad.Trans.Ether.State.Lazy.StateT tag s m)
+ Control.Monad.Trans.Ether.State.Lazy: instance Control.Monad.IO.Class.MonadIO m => Control.Monad.IO.Class.MonadIO (Control.Monad.Trans.Ether.State.Lazy.StateT tag s m)
+ Control.Monad.Trans.Ether.State.Lazy: instance Control.Monad.Morph.MFunctor (Control.Monad.Trans.Ether.State.Lazy.StateT tag s)
+ Control.Monad.Trans.Ether.State.Lazy: instance Control.Monad.Reader.Class.MonadReader r m => Control.Monad.Reader.Class.MonadReader r (Control.Monad.Trans.Ether.State.Lazy.StateT tag s m)
+ Control.Monad.Trans.Ether.State.Lazy: instance Control.Monad.State.Class.MonadState s' m => Control.Monad.State.Class.MonadState s' (Control.Monad.Trans.Ether.State.Lazy.StateT tag s m)
+ Control.Monad.Trans.Ether.State.Lazy: instance Control.Monad.Trans.Class.MonadTrans (Control.Monad.Trans.Ether.State.Lazy.StateT tag s)
+ Control.Monad.Trans.Ether.State.Lazy: instance Control.Monad.Trans.Control.MonadBaseControl b m => Control.Monad.Trans.Control.MonadBaseControl b (Control.Monad.Trans.Ether.State.Lazy.StateT tag s m)
+ Control.Monad.Trans.Ether.State.Lazy: instance Control.Monad.Trans.Control.MonadTransControl (Control.Monad.Trans.Ether.State.Lazy.StateT tag s)
+ Control.Monad.Trans.Ether.State.Lazy: instance Control.Monad.Trans.Lift.CallCC.LiftCallCC (Control.Monad.Trans.Ether.State.Lazy.StateT tag s)
+ Control.Monad.Trans.Ether.State.Lazy: instance Control.Monad.Trans.Lift.Catch.LiftCatch (Control.Monad.Trans.Ether.State.Lazy.StateT tag s)
+ Control.Monad.Trans.Ether.State.Lazy: instance Control.Monad.Trans.Lift.Listen.LiftListen (Control.Monad.Trans.Ether.State.Lazy.StateT tag s)
+ Control.Monad.Trans.Ether.State.Lazy: instance Control.Monad.Trans.Lift.Local.LiftLocal (Control.Monad.Trans.Ether.State.Lazy.StateT tag s)
+ Control.Monad.Trans.Ether.State.Lazy: instance Control.Monad.Trans.Lift.Pass.LiftPass (Control.Monad.Trans.Ether.State.Lazy.StateT tag s)
+ Control.Monad.Trans.Ether.State.Lazy: instance Control.Monad.Writer.Class.MonadWriter w m => Control.Monad.Writer.Class.MonadWriter w (Control.Monad.Trans.Ether.State.Lazy.StateT tag s m)
+ Control.Monad.Trans.Ether.State.Lazy: instance Control.Newtype.Newtype (Control.Monad.Trans.Ether.State.Lazy.StateT tag s m a)
+ Control.Monad.Trans.Ether.State.Lazy: instance GHC.Base.Functor m => GHC.Base.Functor (Control.Monad.Trans.Ether.State.Lazy.StateT tag s m)
+ Control.Monad.Trans.Ether.State.Lazy: instance GHC.Base.Monad m => GHC.Base.Applicative (Control.Monad.Trans.Ether.State.Lazy.StateT tag s m)
+ Control.Monad.Trans.Ether.State.Lazy: instance GHC.Base.Monad m => GHC.Base.Monad (Control.Monad.Trans.Ether.State.Lazy.StateT tag s m)
+ Control.Monad.Trans.Ether.State.Lazy: instance GHC.Base.MonadPlus m => GHC.Base.Alternative (Control.Monad.Trans.Ether.State.Lazy.StateT tag s m)
+ Control.Monad.Trans.Ether.State.Lazy: instance GHC.Base.MonadPlus m => GHC.Base.MonadPlus (Control.Monad.Trans.Ether.State.Lazy.StateT tag s m)
+ Control.Monad.Trans.Ether.State.Lazy: instance GHC.Generics.Constructor Control.Monad.Trans.Ether.State.Lazy.C1_0StateT
+ Control.Monad.Trans.Ether.State.Lazy: instance GHC.Generics.Datatype Control.Monad.Trans.Ether.State.Lazy.D1StateT
+ Control.Monad.Trans.Ether.State.Lazy: instance GHC.Generics.Generic (Control.Monad.Trans.Ether.State.Lazy.StateT tag s m a)
+ Control.Monad.Trans.Ether.State.Strict: instance Control.Ether.Tagged.Taggable (Control.Monad.Trans.Ether.State.Strict.StateT tag s m)
+ Control.Monad.Trans.Ether.State.Strict: instance Control.Ether.Tagged.Tagged (Control.Monad.Trans.Ether.State.Strict.StateT tag s m) tag
+ Control.Monad.Trans.Ether.State.Strict: instance Control.Monad.Base.MonadBase b m => Control.Monad.Base.MonadBase b (Control.Monad.Trans.Ether.State.Strict.StateT tag s m)
+ Control.Monad.Trans.Ether.State.Strict: instance Control.Monad.Cont.Class.MonadCont m => Control.Monad.Cont.Class.MonadCont (Control.Monad.Trans.Ether.State.Strict.StateT tag s m)
+ Control.Monad.Trans.Ether.State.Strict: instance Control.Monad.Error.Class.MonadError e m => Control.Monad.Error.Class.MonadError e (Control.Monad.Trans.Ether.State.Strict.StateT tag s m)
+ Control.Monad.Trans.Ether.State.Strict: instance Control.Monad.Fix.MonadFix m => Control.Monad.Fix.MonadFix (Control.Monad.Trans.Ether.State.Strict.StateT tag s m)
+ Control.Monad.Trans.Ether.State.Strict: instance Control.Monad.IO.Class.MonadIO m => Control.Monad.IO.Class.MonadIO (Control.Monad.Trans.Ether.State.Strict.StateT tag s m)
+ Control.Monad.Trans.Ether.State.Strict: instance Control.Monad.Morph.MFunctor (Control.Monad.Trans.Ether.State.Strict.StateT tag s)
+ Control.Monad.Trans.Ether.State.Strict: instance Control.Monad.Reader.Class.MonadReader r m => Control.Monad.Reader.Class.MonadReader r (Control.Monad.Trans.Ether.State.Strict.StateT tag s m)
+ Control.Monad.Trans.Ether.State.Strict: instance Control.Monad.State.Class.MonadState s' m => Control.Monad.State.Class.MonadState s' (Control.Monad.Trans.Ether.State.Strict.StateT tag s m)
+ Control.Monad.Trans.Ether.State.Strict: instance Control.Monad.Trans.Class.MonadTrans (Control.Monad.Trans.Ether.State.Strict.StateT tag s)
+ Control.Monad.Trans.Ether.State.Strict: instance Control.Monad.Trans.Control.MonadBaseControl b m => Control.Monad.Trans.Control.MonadBaseControl b (Control.Monad.Trans.Ether.State.Strict.StateT tag s m)
+ Control.Monad.Trans.Ether.State.Strict: instance Control.Monad.Trans.Control.MonadTransControl (Control.Monad.Trans.Ether.State.Strict.StateT tag s)
+ Control.Monad.Trans.Ether.State.Strict: instance Control.Monad.Trans.Lift.CallCC.LiftCallCC (Control.Monad.Trans.Ether.State.Strict.StateT tag s)
+ Control.Monad.Trans.Ether.State.Strict: instance Control.Monad.Trans.Lift.Catch.LiftCatch (Control.Monad.Trans.Ether.State.Strict.StateT tag s)
+ Control.Monad.Trans.Ether.State.Strict: instance Control.Monad.Trans.Lift.Listen.LiftListen (Control.Monad.Trans.Ether.State.Strict.StateT tag s)
+ Control.Monad.Trans.Ether.State.Strict: instance Control.Monad.Trans.Lift.Local.LiftLocal (Control.Monad.Trans.Ether.State.Strict.StateT tag s)
+ Control.Monad.Trans.Ether.State.Strict: instance Control.Monad.Trans.Lift.Pass.LiftPass (Control.Monad.Trans.Ether.State.Strict.StateT tag s)
+ Control.Monad.Trans.Ether.State.Strict: instance Control.Monad.Writer.Class.MonadWriter w m => Control.Monad.Writer.Class.MonadWriter w (Control.Monad.Trans.Ether.State.Strict.StateT tag s m)
+ Control.Monad.Trans.Ether.State.Strict: instance Control.Newtype.Newtype (Control.Monad.Trans.Ether.State.Strict.StateT tag s m a)
+ Control.Monad.Trans.Ether.State.Strict: instance GHC.Base.Functor m => GHC.Base.Functor (Control.Monad.Trans.Ether.State.Strict.StateT tag s m)
+ Control.Monad.Trans.Ether.State.Strict: instance GHC.Base.Monad m => GHC.Base.Applicative (Control.Monad.Trans.Ether.State.Strict.StateT tag s m)
+ Control.Monad.Trans.Ether.State.Strict: instance GHC.Base.Monad m => GHC.Base.Monad (Control.Monad.Trans.Ether.State.Strict.StateT tag s m)
+ Control.Monad.Trans.Ether.State.Strict: instance GHC.Base.MonadPlus m => GHC.Base.Alternative (Control.Monad.Trans.Ether.State.Strict.StateT tag s m)
+ Control.Monad.Trans.Ether.State.Strict: instance GHC.Base.MonadPlus m => GHC.Base.MonadPlus (Control.Monad.Trans.Ether.State.Strict.StateT tag s m)
+ Control.Monad.Trans.Ether.State.Strict: instance GHC.Generics.Constructor Control.Monad.Trans.Ether.State.Strict.C1_0StateT
+ Control.Monad.Trans.Ether.State.Strict: instance GHC.Generics.Datatype Control.Monad.Trans.Ether.State.Strict.D1StateT
+ Control.Monad.Trans.Ether.State.Strict: instance GHC.Generics.Generic (Control.Monad.Trans.Ether.State.Strict.StateT tag s m a)
+ Control.Monad.Trans.Ether.Writer: instance (Control.Monad.Fix.MonadFix m, GHC.Base.Monoid w) => Control.Monad.Fix.MonadFix (Control.Monad.Trans.Ether.Writer.WriterT tag w m)
+ Control.Monad.Trans.Ether.Writer: instance (GHC.Base.Applicative m, GHC.Base.Monoid w) => GHC.Base.Applicative (Control.Monad.Trans.Ether.Writer.WriterT tag w m)
+ Control.Monad.Trans.Ether.Writer: instance (GHC.Base.Monad m, GHC.Base.Monoid w) => GHC.Base.Monad (Control.Monad.Trans.Ether.Writer.WriterT tag w m)
+ Control.Monad.Trans.Ether.Writer: instance (GHC.Base.Monoid w, Control.Monad.Base.MonadBase b m) => Control.Monad.Base.MonadBase b (Control.Monad.Trans.Ether.Writer.WriterT tag w m)
+ Control.Monad.Trans.Ether.Writer: instance (GHC.Base.Monoid w, Control.Monad.Cont.Class.MonadCont m) => Control.Monad.Cont.Class.MonadCont (Control.Monad.Trans.Ether.Writer.WriterT tag w m)
+ Control.Monad.Trans.Ether.Writer: instance (GHC.Base.Monoid w, Control.Monad.Error.Class.MonadError e m) => Control.Monad.Error.Class.MonadError e (Control.Monad.Trans.Ether.Writer.WriterT tag w m)
+ Control.Monad.Trans.Ether.Writer: instance (GHC.Base.Monoid w, Control.Monad.IO.Class.MonadIO m) => Control.Monad.IO.Class.MonadIO (Control.Monad.Trans.Ether.Writer.WriterT tag w m)
+ Control.Monad.Trans.Ether.Writer: instance (GHC.Base.Monoid w, Control.Monad.Reader.Class.MonadReader r m) => Control.Monad.Reader.Class.MonadReader r (Control.Monad.Trans.Ether.Writer.WriterT tag w m)
+ Control.Monad.Trans.Ether.Writer: instance (GHC.Base.Monoid w, Control.Monad.State.Class.MonadState s m) => Control.Monad.State.Class.MonadState s (Control.Monad.Trans.Ether.Writer.WriterT tag w m)
+ Control.Monad.Trans.Ether.Writer: instance (GHC.Base.Monoid w, Control.Monad.Trans.Control.MonadBaseControl b m) => Control.Monad.Trans.Control.MonadBaseControl b (Control.Monad.Trans.Ether.Writer.WriterT tag w m)
+ Control.Monad.Trans.Ether.Writer: instance (GHC.Base.Monoid w, Control.Monad.Writer.Class.MonadWriter w' m) => Control.Monad.Writer.Class.MonadWriter w' (Control.Monad.Trans.Ether.Writer.WriterT tag w m)
+ Control.Monad.Trans.Ether.Writer: instance (GHC.Base.Monoid w, GHC.Base.Alternative m) => GHC.Base.Alternative (Control.Monad.Trans.Ether.Writer.WriterT tag w m)
+ Control.Monad.Trans.Ether.Writer: instance (GHC.Base.Monoid w, GHC.Base.MonadPlus m) => GHC.Base.MonadPlus (Control.Monad.Trans.Ether.Writer.WriterT tag w m)
+ Control.Monad.Trans.Ether.Writer: instance Control.Ether.Tagged.Taggable (Control.Monad.Trans.Ether.Writer.WriterT tag w m)
+ Control.Monad.Trans.Ether.Writer: instance Control.Ether.Tagged.Tagged (Control.Monad.Trans.Ether.Writer.WriterT tag w m) tag
+ Control.Monad.Trans.Ether.Writer: instance Control.Monad.Morph.MFunctor (Control.Monad.Trans.Ether.Writer.WriterT tag w)
+ Control.Monad.Trans.Ether.Writer: instance Control.Newtype.Newtype (Control.Monad.Trans.Ether.Writer.WriterT tag w m a)
+ Control.Monad.Trans.Ether.Writer: instance GHC.Base.Functor m => GHC.Base.Functor (Control.Monad.Trans.Ether.Writer.WriterT tag w m)
+ Control.Monad.Trans.Ether.Writer: instance GHC.Base.Monoid w => Control.Monad.Morph.MMonad (Control.Monad.Trans.Ether.Writer.WriterT tag w)
+ Control.Monad.Trans.Ether.Writer: instance GHC.Base.Monoid w => Control.Monad.Trans.Class.MonadTrans (Control.Monad.Trans.Ether.Writer.WriterT tag w)
+ Control.Monad.Trans.Ether.Writer: instance GHC.Base.Monoid w => Control.Monad.Trans.Control.MonadTransControl (Control.Monad.Trans.Ether.Writer.WriterT tag w)
+ Control.Monad.Trans.Ether.Writer: instance GHC.Base.Monoid w => Control.Monad.Trans.Lift.CallCC.LiftCallCC (Control.Monad.Trans.Ether.Writer.WriterT tag w)
+ Control.Monad.Trans.Ether.Writer: instance GHC.Base.Monoid w => Control.Monad.Trans.Lift.Catch.LiftCatch (Control.Monad.Trans.Ether.Writer.WriterT tag w)
+ Control.Monad.Trans.Ether.Writer: instance GHC.Base.Monoid w => Control.Monad.Trans.Lift.Listen.LiftListen (Control.Monad.Trans.Ether.Writer.WriterT tag w)
+ Control.Monad.Trans.Ether.Writer: instance GHC.Base.Monoid w => Control.Monad.Trans.Lift.Local.LiftLocal (Control.Monad.Trans.Ether.Writer.WriterT tag w)
+ Control.Monad.Trans.Ether.Writer: instance GHC.Base.Monoid w' => Control.Monad.Trans.Lift.Pass.LiftPass (Control.Monad.Trans.Ether.Writer.WriterT tag w')
+ Control.Monad.Trans.Ether.Writer: instance GHC.Generics.Constructor Control.Monad.Trans.Ether.Writer.C1_0WriterT
+ Control.Monad.Trans.Ether.Writer: instance GHC.Generics.Datatype Control.Monad.Trans.Ether.Writer.D1WriterT
+ Control.Monad.Trans.Ether.Writer: instance GHC.Generics.Generic (Control.Monad.Trans.Ether.Writer.WriterT tag w m a)
- Control.Ether.Tagged: class Taggable (m :: * -> *) where type family Tag m :: Maybe * type family Inner m :: Maybe (* -> *) type instance Tag m = Nothing type instance Inner m = Nothing
+ Control.Ether.Tagged: class Taggable (m :: * -> *) where type family Tag m :: Maybe * type family Inner m :: Maybe (* -> *) Tag m = Nothing Inner m = Nothing

Files

CHANGELOG.md view
@@ -1,9 +1,16 @@+0.3.1.0+-------++* Fix an issue with overlapping instances.++ 0.3.0.0 -------  * `MonadBase`, `MonadControl`, `MonadBaseControl` instances. * `MFunctor`, `MMonad` instances. * Use `transformers-lift`.+  0.2.1.0 -------
ether.cabal view
@@ -1,5 +1,5 @@ name:                ether-version:             0.3.0.0+version:             0.3.1.0 synopsis:            Monad transformers and classes description:     Ether is a Haskell library that extends @mtl@ and @transformers@ with
src/Control/Monad/Ether/Except/Class.hs view
@@ -16,10 +16,6 @@     ( MonadExcept(..)     ) where -#if __GLASGOW_HASKELL__ < 710-import Data.Monoid-#endif- import Control.Monad.Trans.Ether.Except hiding (throw, catch) import qualified Control.Monad.Trans.Ether.Except as E import qualified Control.Monad.Trans.Lift.Catch as Lift@@ -35,11 +31,12 @@     -- normal execution.     catch :: proxy tag -> m a -> (e -> m a) -> m a -instance {-# OVERLAPPING #-} Monad m => MonadExcept tag e (ExceptT tag e m) where+instance Monad m => MonadExcept tag e (ExceptT tag e m) where     throw = E.throw     catch = E.catch -instance ( Lift.LiftCatch t+instance {-# OVERLAPPABLE #-}+         ( Lift.LiftCatch t          , Monad (t m)          , MonadExcept tag e m          ) => MonadExcept tag e (t m) where
src/Control/Monad/Ether/Reader/Class.hs view
@@ -17,10 +17,6 @@     , asks     ) where -#if __GLASGOW_HASKELL__ < 710-import Data.Monoid-#endif- import Control.Monad.Trans.Ether.Reader hiding (reader, ask, local) import qualified Control.Monad.Trans.Ether.Reader as R import qualified Control.Monad.Trans.Lift.Local as Lift@@ -61,12 +57,13 @@     -> m a asks = reader -instance {-# OVERLAPPING #-} Monad m => MonadReader tag r (ReaderT tag r m) where+instance Monad m => MonadReader tag r (ReaderT tag r m) where     ask = R.ask     local = R.local     reader = R.reader -instance ( Lift.LiftLocal t+instance {-# OVERLAPPABLE #-}+         ( Lift.LiftLocal t          , Monad (t m)          , MonadReader tag r m          ) => MonadReader tag r (t m) where
src/Control/Monad/Ether/State/Class.hs view
@@ -22,27 +22,12 @@ import Data.Monoid #endif -import Control.Monad.Trans (lift)+import Control.Monad.Trans (MonadTrans(..)) -import Control.Monad.Trans.Ether.Reader (ReaderT)-import Control.Monad.Trans.Ether.Writer (WriterT)-import Control.Monad.Trans.Ether.Except (ExceptT) import qualified Control.Monad.Trans.Ether.State.Lazy   as S.L import qualified Control.Monad.Trans.Ether.State.Strict as S.S import qualified Control.Ether.Util as Util --- for mtl instances-import qualified Control.Monad.Trans.Cont          as Trans        (ContT)-import qualified Control.Monad.Trans.Except        as Trans        (ExceptT)-import qualified Control.Monad.Trans.Identity      as Trans        (IdentityT)-import qualified Control.Monad.Trans.List          as Trans        (ListT)-import qualified Control.Monad.Trans.Maybe         as Trans        (MaybeT)-import qualified Control.Monad.Trans.Reader        as Trans        (ReaderT)-import qualified Control.Monad.Trans.State.Lazy    as Trans.Lazy   (StateT)-import qualified Control.Monad.Trans.State.Strict  as Trans.Strict (StateT)-import qualified Control.Monad.Trans.Writer.Lazy   as Trans.Lazy   (WriterT)-import qualified Control.Monad.Trans.Writer.Strict as Trans.Strict (WriterT)- -- | See 'Control.Monad.State.MonadState'. class Monad m => MonadState tag s m | m tag -> s where @@ -72,91 +57,21 @@ gets :: MonadState tag s m => proxy tag -> (s -> a) -> m a gets t f = Util.fmap f (get t) -instance {-# OVERLAPPING #-} Monad m => MonadState tag s (S.L.StateT tag s m) where+instance Monad m => MonadState tag s (S.L.StateT tag s m) where     get = S.L.get     put = S.L.put     state = S.L.state -instance MonadState tag s m => MonadState tag s (S.L.StateT tag' s' m) where-    get t = lift (get t)-    put t = lift . put t-    state t = lift . state t--instance {-# OVERLAPPING #-} Monad m => MonadState tag s (S.S.StateT tag s m) where+instance Monad m => MonadState tag s (S.S.StateT tag s m) where     get = S.S.get     put = S.S.put     state = S.S.state -instance MonadState tag s m => MonadState tag s (S.S.StateT tag' s' m) where-    get t = lift (get t)-    put t = lift . put t-    state t = lift . state t---- Instances for other tagged transformers--instance (MonadState tag s m) => MonadState tag s (ReaderT tag' r m) where-    get t = lift (get t)-    put t = lift . put t-    state t = lift . state t--instance (Monoid w, MonadState tag s m) => MonadState tag s (WriterT tag' w m) where-    get t = lift (get t)-    put t = lift . put t-    state t = lift . state t--instance (MonadState tag s m) => MonadState tag s (ExceptT tag' e m) where-    get t = lift (get t)-    put t = lift . put t-    state t = lift . state t---- Instances for mtl transformers--instance MonadState tag s m => MonadState tag s (Trans.ContT r m) where-    get t = lift (get t)-    put t = lift . put t-    state t = lift . state t--instance MonadState tag s m => MonadState tag s (Trans.ExceptT e m) where-    get t = lift (get t)-    put t = lift . put t-    state t = lift . state t--instance MonadState tag s m => MonadState tag s (Trans.IdentityT m) where-    get t = lift (get t)-    put t = lift . put t-    state t = lift . state t--instance MonadState tag s m => MonadState tag s (Trans.ListT m) where-    get t = lift (get t)-    put t = lift . put t-    state t = lift . state t--instance MonadState tag s m => MonadState tag s (Trans.MaybeT m) where-    get t = lift (get t)-    put t = lift . put t-    state t = lift . state t--instance MonadState tag s m => MonadState tag s (Trans.ReaderT r m) where-    get t = lift (get t)-    put t = lift . put t-    state t = lift . state t--instance MonadState tag s m => MonadState tag s (Trans.Lazy.StateT s' m) where-    get t = lift (get t)-    put t = lift . put t-    state t = lift . state t--instance MonadState tag s m => MonadState tag s (Trans.Strict.StateT s' m) where-    get t = lift (get t)-    put t = lift . put t-    state t = lift . state t--instance (Monoid w, MonadState tag s m) => MonadState tag s (Trans.Lazy.WriterT w m) where-    get t = lift (get t)-    put t = lift . put t-    state t = lift . state t--instance (Monoid w, MonadState tag s m) => MonadState tag s (Trans.Strict.WriterT w m) where+instance {-# OVERLAPPABLE #-}+         ( MonadTrans t+         , Monad (t m)+         , MonadState tag s m+         ) => MonadState tag s (t m) where     get t = lift (get t)     put t = lift . put t     state t = lift . state t
src/Control/Monad/Ether/Writer/Class.hs view
@@ -63,13 +63,14 @@     a <- m     return (a, f) -instance {-# OVERLAPPING #-} (Monoid w, Monad m) => MonadWriter tag w (WriterT tag w m) where+instance (Monoid w, Monad m) => MonadWriter tag w (WriterT tag w m) where     writer = W.writer     tell = W.tell     listen = W.listen     pass = W.pass -instance ( Lift.LiftListen t+instance {-# OVERLAPPABLE #-}+         ( Lift.LiftListen t          , Lift.LiftPass   t          , Monad (t m)          , MonadWriter tag w m
test/Regression.hs view
@@ -213,3 +213,6 @@  wrapStateBad2Core :: Int -> Int wrapStateBad2Core = evalState foo (ensureUniqueTags $ ethered foo wrapStateBad2)++wrapReaderCore :: Int -> Int+wrapReaderCore = runReader foo (ethered foo ((+) <$> T.ask <*> ask foo))