{-# LANGUAGE FlexibleInstances #-} module Control.Effect.Identity where import Control.Effect import qualified Data.Functor.Identity as Id import qualified Control.Monad.Trans.Identity as Id runIdentity :: Monad m => Eff Id.Identity m a -> m a runIdentity = Id.runIdentityT . translate (return . Id.runIdentity) {-# INLINE runIdentity #-}