Safe Haskell | Trustworthy |
---|---|
Language | Haskell2010 |
- newtype Mortal f g a = Mortal {}
- mortal :: (forall x. f x -> EitherT a m (x, Mortal f m a)) -> Mortal f m a
- mortal_ :: Object f (EitherT () g) -> Mortal f g ()
- runMortal :: Mortal f m a -> f x -> m (Either a (x, Mortal f m a))
- immortal :: Monad m => Object f m -> Mortal f m x
- reincarnation :: Monad m => (a -> Mortal f m a) -> a -> Object f m