 type Abort r = AbortT r Identity
 newtype AbortT r m a = AbortT {
 unwrapAbortT :: m (Either r a)
 class Monad m => MonadAbort m where
 type AbortResultType m
 abort :: AbortResultType m > m a
Documentation
newtype AbortT r m a
An abort monad transformer parametrized by

r
 the value that will ultimately be returned; and 
m
 the inner monad.
The AbortT
type wraps a monadic value that is either
AbortT  

MonadTrans (AbortT r)  
Monad m => Monad (AbortT r m)  
Functor m => Functor (AbortT r m)  
Applicative m => Applicative (AbortT r m)  
MonadIO m => MonadIO (AbortT r m)  
MonadRWS m => MonadRWS (AbortT r m)  
MonadWriter m => MonadWriter (AbortT r m)  
MonadState m => MonadState (AbortT r m)  
MonadReader m => MonadReader (AbortT r m)  
MonadError m => MonadError (AbortT r m)  
MonadCont m => MonadCont (AbortT r m)  
Monad m => MonadAbort (AbortT r m) 
class Monad m => MonadAbort m whereSource
type AbortResultType m Source
abort :: AbortResultType m > m aSource
MonadAbort m => MonadAbort (ListT m)  
MonadAbort m => MonadAbort (MaybeT m)  
MonadAbort m => MonadAbort (IdentityT m)  
Monad m => MonadAbort (AbortT r m)  
(MonadAbort m, Error e) => MonadAbort (ErrorT e m)  
MonadAbort m => MonadAbort (ReaderT r m)  
MonadAbort m => MonadAbort (StateT s m)  
MonadAbort m => MonadAbort (StateT s m)  
(MonadAbort m, Monoid w) => MonadAbort (WriterT w m)  
(MonadAbort m, Monoid w) => MonadAbort (WriterT w m)  
(MonadAbort m, Monoid w) => MonadAbort (RWST r w s m)  
(MonadAbort m, Monoid w) => MonadAbort (RWST r w s m) 