{-# language
FlexibleInstances
, FunctionalDependencies
, MultiParamTypeClasses
, NoImplicitPrelude
, TypeFamilies
, UndecidableInstances
#-}
module Control.Monad.Primitive.Convenience
( MonadPrim
, MonadPrimBase
) where
import Control.Monad.Primitive
class (PrimMonad m, s ~ PrimState m) => MonadPrim s m | m -> s where
instance (PrimMonad m, s ~ PrimState m) => MonadPrim s m
class (PrimBase m, s ~ PrimState m) => MonadPrimBase s m | m -> s where
instance (PrimBase m, s ~ PrimState m) => MonadPrimBase s m