-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | A monoid for monads
--   
--   See README
@package monadoid
@version 0.0.2


module Data.Monadoid
newtype Monadoid m a
Monadoid :: m a -> Monadoid m a
[runMonadoid] :: Monadoid m a -> m a

-- | The only important instance
instance Control.Monad.Cont.Class.MonadCont m => Control.Monad.Cont.Class.MonadCont (Data.Monadoid.Monadoid m)
instance Control.Monad.Base.MonadBase b m => Control.Monad.Base.MonadBase b (Data.Monadoid.Monadoid m)
instance Control.Monad.IO.Class.MonadIO m => Control.Monad.IO.Class.MonadIO (Data.Monadoid.Monadoid m)
instance Control.Monad.Error.Class.MonadError e m => Control.Monad.Error.Class.MonadError e (Data.Monadoid.Monadoid m)
instance (Control.Monad.State.Class.MonadState s m, Control.Monad.Writer.Class.MonadWriter w m, Control.Monad.Reader.Class.MonadReader r m) => Control.Monad.RWS.Class.MonadRWS r w s (Data.Monadoid.Monadoid m)
instance Control.Monad.State.Class.MonadState s m => Control.Monad.State.Class.MonadState s (Data.Monadoid.Monadoid m)
instance Control.Monad.Writer.Class.MonadWriter w m => Control.Monad.Writer.Class.MonadWriter w (Data.Monadoid.Monadoid m)
instance Control.Monad.Reader.Class.MonadReader r m => Control.Monad.Reader.Class.MonadReader r (Data.Monadoid.Monadoid m)
instance (Data.Data.Data (m a), Data.Typeable.Internal.Typeable a, Data.Typeable.Internal.Typeable m) => Data.Data.Data (Data.Monadoid.Monadoid m a)
instance GHC.Generics.Generic (Data.Monadoid.Monadoid m a)
instance Data.Traversable.Traversable m => Data.Traversable.Traversable (Data.Monadoid.Monadoid m)
instance Data.Foldable.Foldable m => Data.Foldable.Foldable (Data.Monadoid.Monadoid m)
instance GHC.Base.Monad m => GHC.Base.Monad (Data.Monadoid.Monadoid m)
instance GHC.Base.Applicative m => GHC.Base.Applicative (Data.Monadoid.Monadoid m)
instance GHC.Base.Functor m => GHC.Base.Functor (Data.Monadoid.Monadoid m)
instance GHC.Classes.Ord (m a) => GHC.Classes.Ord (Data.Monadoid.Monadoid m a)
instance GHC.Classes.Eq (m a) => GHC.Classes.Eq (Data.Monadoid.Monadoid m a)
instance GHC.Show.Show (m a) => GHC.Show.Show (Data.Monadoid.Monadoid m a)
instance Control.Monad.Trans.Class.MonadTrans Data.Monadoid.Monadoid
instance Control.Monad.Trans.Control.MonadTransControl Data.Monadoid.Monadoid
instance (GHC.Base.Monad m, GHC.Base.Monoid a) => GHC.Base.Monoid (Data.Monadoid.Monadoid m a)
