{-# OPTIONS
  -XFlexibleInstances
  -XOverlappingInstances
#-}

module Control.Monatron.AutoInstances where

import Control.Monatron.MonadT

------------------------------------------------------------------
instance (Monad m, MonadT t) => Monad (t m) where
    return = treturn
    fail   = lift . fail
    (>>=)  = tbind

instance (Monad m, MonadT t) => Functor (t m) where fmap = liftM