MHask-0.1.0.0: MHask/Indexed/Pointed.hs
{-# LANGUAGE TypeOperators #-}
{-# LANGUAGE Rank2Types #-}
{-# LANGUAGE DefaultSignatures #-}
-- Compare to indexed.Data.Functor.Indexed (IxPointed)
module MHask.Indexed.Pointed where
import MHask.Util
import Control.Monad.Trans.State
import Control.Monad.Trans.Reader
import Control.Monad.Trans.Writer
import qualified MHask.Pointed as MHask
import qualified MHask.Indexed.Functor as MHask
class (MHask.IxFunctor t) => IxPointed t where
ireturn :: (Monad m, Monad (t i i m))
=> m ~> t i i m
default ireturn :: (Monad m, Monad (t i i m), MHask.Pointed (t i i))
=> m ~> t i i m
ireturn = MHask.return