deepcontrol-0.5.1.0: Provide more deeper level style of programming than the usual Control.xxx modules express

Copyright(c) 2007 Magnus Therning, (c) 2015 KONISHI Yohsuke
LicenseBSD-style (see the file LICENSE)
Maintainerocean0yohsuke@gmail.com
Stabilityexperimental
Portability---
Safe HaskellNone
LanguageHaskell2010

DeepControl.Monad.Trans.Identity

Contents

Description

This module enables you to deal with deep monads in any monad-transformer.

Synopsis

Level-1

Level-1

identity-cover

(*:) :: Monad m => Identity a -> IdentityT m a infixl 3 Source

The level-1 identity-cover function, analogous to '(.*)'

>>> (*:) (Identity 1) :: IdentityT [] Int
IdentityT [1]
>>> (*:) (Identity 1) :: IdentityT Maybe Int
IdentityT (Just 1)

Level-2

newtype IdentityT2 f1 f2 a Source

Lift a binary operation to the new monad. lift2IdentityT :: (m a -> n b -> p c) -> IdentityT m a -> IdentityT n b -> IdentityT p c lift2IdentityT f a b = IdentityT (f (runIdentityT a) (runIdentityT b))

Constructors

IdentityT2 

Fields

runIdentityT2 :: f1 (f2 a)
 

Instances

(Monad m1, Monad m2, Traversable m2) => Monad (IdentityT2 m1 m2) Source 
(Functor f1, Functor f2) => Functor (IdentityT2 f1 f2) Source 
(Applicative m1, Applicative m2) => Applicative (IdentityT2 m1 m2) Source 
(Foldable f1, Foldable f2) => Foldable (IdentityT2 f1 f2) Source 
(Traversable f1, Traversable f2) => Traversable (IdentityT2 f1 f2) Source 
(Alternative m1, Alternative m2) => Alternative (IdentityT2 m1 m2) Source 
(MonadPlus m1, Alternative m2, Monad m2, Traversable m2) => MonadPlus (IdentityT2 m1 m2) Source 
(MonadIO m1, Monad m1, Monad m2, Traversable m2) => MonadIO (IdentityT2 m1 m2) Source 
Eq (f1 (f2 a)) => Eq (IdentityT2 f1 f2 a) Source 
Ord (f1 (f2 a)) => Ord (IdentityT2 f1 f2 a) Source 
Read (f1 (f2 a)) => Read (IdentityT2 f1 f2 a) Source 
Show (f1 (f2 a)) => Show (IdentityT2 f1 f2 a) Source 

identity-cover

(**:) :: (Monad m1, Monad m2) => Identity a -> IdentityT2 m1 m2 a infixl 3 Source

The level-2 identity-cover function, analogous to '(**:)'

>>> (**:) (Identity 1) :: IdentityT2 [] Maybe Int
IdentityT2 {runIdentityT2 = [Just 1]}
>>> (**:) (Identity 1) :: IdentityT2 (Except ()) (Writer String) Int
IdentityT2 {runIdentityT2 = ExceptT (Identity (Right (WriterT (Identity (1,"")))))}

(-*:) :: (Monad m1, Monad m2) => IdentityT m1 a -> IdentityT2 m1 m2 a infixl 3 Source

The level-2 identity-cover function, analogous to '(-*)'

>>> (-*:) (IdentityT [1]) :: IdentityT2 [] Maybe Int
IdentityT2 {runIdentityT2 = [Just 1]}
>>> (-*:) (IdentityT (ExceptT (Identity (Right 1)))) :: IdentityT2 (Except ()) (Writer String) Int
IdentityT2 {runIdentityT2 = ExceptT (Identity (Right (WriterT (Identity (1,"")))))}

(*-:) :: (Monad m1, Monad m2) => IdentityT m2 a -> IdentityT2 m1 m2 a infixl 3 Source

The level-2 identity-cover function, analogous to '(.*)'

>>> (*-:) (IdentityT (Just 1)) :: IdentityT2 [] Maybe Int
IdentityT2 {runIdentityT2 = [Just 1]}
>>> (*-:) (IdentityT (WriterT (Identity (1,"")))) :: IdentityT2 (Except ()) (Writer String) Int
IdentityT2 {runIdentityT2 = ExceptT (Identity (Right (WriterT (Identity (1,"")))))}

identity-roll

transrollI2 :: (Monad m1, MonadTrans_ m2 t2) => IdentityT2 m1 m2 a -> IdentityT (t2 m1) a Source

untransrollI2 :: (Monad m1, MonadTrans_ m2 t2) => IdentityT (t2 m1) a -> IdentityT2 m1 m2 a Source

lift

mapIdentityT2 :: (m1 (m2 a) -> n1 (n2 b)) -> IdentityT2 m1 m2 a -> IdentityT2 n1 n2 b Source

liftCallCC2 :: CallCC2 m1 m2 a b -> CallCC (IdentityT2 m1 m2) a b Source

liftCatch2 :: Catch2 e m1 m2 a -> Catch e (IdentityT2 m1 m2) a Source

Level-3

newtype IdentityT3 f1 f2 f3 a Source

Constructors

IdentityT3 

Fields

runIdentityT3 :: f1 (f2 (f3 a))
 

Instances

(Monad m1, Monad m2, Traversable m2, Monad m3, Traversable m3) => Monad (IdentityT3 m1 m2 m3) Source 
(Functor f1, Functor f2, Functor f3) => Functor (IdentityT3 f1 f2 f3) Source 
(Applicative m1, Applicative m2, Applicative m3) => Applicative (IdentityT3 m1 m2 m3) Source 
(Foldable f1, Foldable f2, Foldable f3) => Foldable (IdentityT3 f1 f2 f3) Source 
(Traversable f1, Traversable f2, Traversable f3) => Traversable (IdentityT3 f1 f2 f3) Source 
(Alternative m1, Alternative m2, Alternative m3) => Alternative (IdentityT3 m1 m2 m3) Source 
(MonadPlus m1, Alternative m2, Monad m2, Traversable m2, Alternative m3, Monad m3, Traversable m3) => MonadPlus (IdentityT3 m1 m2 m3) Source 
(MonadIO m1, Monad m1, Monad m2, Traversable m2, Monad m3, Traversable m3) => MonadIO (IdentityT3 m1 m2 m3) Source 
Eq (f1 (f2 (f3 a))) => Eq (IdentityT3 f1 f2 f3 a) Source 
Ord (f1 (f2 (f3 a))) => Ord (IdentityT3 f1 f2 f3 a) Source 
Read (f1 (f2 (f3 a))) => Read (IdentityT3 f1 f2 f3 a) Source 
Show (f1 (f2 (f3 a))) => Show (IdentityT3 f1 f2 f3 a) Source 

identity-cover

(***:) :: (Monad m1, Monad m2, Monad m3) => Identity a -> IdentityT3 m1 m2 m3 a infixl 3 Source

(--*:) :: (Monad m1, Monad m2, Monad m3) => IdentityT2 m1 m2 a -> IdentityT3 m1 m2 m3 a infixl 3 Source

(-*-:) :: (Monad m1, Monad m2, Monad m3) => IdentityT2 m1 m3 a -> IdentityT3 m1 m2 m3 a infixl 3 Source

(*--:) :: (Monad m1, Monad m2, Monad m3) => IdentityT2 m2 m3 a -> IdentityT3 m1 m2 m3 a infixl 3 Source

(-**:) :: (Monad m1, Monad m2, Monad m3) => IdentityT m1 a -> IdentityT3 m1 m2 m3 a infixl 3 Source

(*-*:) :: (Monad m1, Monad m2, Monad m3) => IdentityT m2 a -> IdentityT3 m1 m2 m3 a infixl 3 Source

(**-:) :: (Monad m1, Monad m2, Monad m3) => IdentityT m3 a -> IdentityT3 m1 m2 m3 a infixl 3 Source

identity-roll

transrollI3 :: (Monad m1, Monad (t2 m1), MonadTrans_ m2 t2, MonadTrans_ m3 t3) => IdentityT3 m1 m2 m3 a -> IdentityT (t3 (t2 m1)) a Source

untransrollI3 :: (Monad m1, Monad (t2 m1), MonadTrans_ m2 t2, MonadTrans_ m3 t3) => IdentityT (t3 (t2 m1)) a -> IdentityT3 m1 m2 m3 a Source

lift

mapIdentityT3 :: (m1 (m2 (m3 a)) -> n1 (n2 (n3 b))) -> IdentityT3 m1 m2 m3 a -> IdentityT3 n1 n2 n3 b Source

liftCallCC3 :: CallCC3 m1 m2 m3 a b -> CallCC (IdentityT3 m1 m2 m3) a b Source

liftCatch3 :: Catch3 e m1 m2 m3 a -> Catch e (IdentityT3 m1 m2 m3) a Source

Level-4

newtype IdentityT4 f1 f2 f3 f4 a Source

Constructors

IdentityT4 

Fields

runIdentityT4 :: f1 (f2 (f3 (f4 a)))
 

Instances

(Monad m1, Monad m2, Traversable m2, Monad m3, Traversable m3, Monad m4, Traversable m4) => Monad (IdentityT4 m1 m2 m3 m4) Source 
(Functor f1, Functor f2, Functor f3, Functor f4) => Functor (IdentityT4 f1 f2 f3 f4) Source 
(Applicative m1, Applicative m2, Applicative m3, Applicative m4) => Applicative (IdentityT4 m1 m2 m3 m4) Source 
(Foldable f1, Foldable f2, Foldable f3, Foldable f4) => Foldable (IdentityT4 f1 f2 f3 f4) Source 
(Traversable f1, Traversable f2, Traversable f3, Traversable f4) => Traversable (IdentityT4 f1 f2 f3 f4) Source 
(Alternative m1, Alternative m2, Alternative m3, Alternative m4) => Alternative (IdentityT4 m1 m2 m3 m4) Source 
(MonadPlus m1, Alternative m2, Monad m2, Traversable m2, Alternative m3, Monad m3, Traversable m3, Alternative m4, Monad m4, Traversable m4) => MonadPlus (IdentityT4 m1 m2 m3 m4) Source 
(MonadIO m1, Monad m1, Monad m2, Traversable m2, Monad m3, Traversable m3, Monad m4, Traversable m4) => MonadIO (IdentityT4 m1 m2 m3 m4) Source 
Eq (f1 (f2 (f3 (f4 a)))) => Eq (IdentityT4 f1 f2 f3 f4 a) Source 
Ord (f1 (f2 (f3 (f4 a)))) => Ord (IdentityT4 f1 f2 f3 f4 a) Source 
Read (f1 (f2 (f3 (f4 a)))) => Read (IdentityT4 f1 f2 f3 f4 a) Source 
Show (f1 (f2 (f3 (f4 a)))) => Show (IdentityT4 f1 f2 f3 f4 a) Source 

identity-cover

(****:) :: (Monad m1, Monad m2, Monad m3, Monad m4) => Identity a -> IdentityT4 m1 m2 m3 m4 a infixl 3 Source

(---*:) :: (Monad m1, Monad m2, Monad m3, Monad m4) => IdentityT3 m1 m2 m3 a -> IdentityT4 m1 m2 m3 m4 a infixl 3 Source

(--*-:) :: (Monad m1, Monad m2, Monad m3, Monad m4) => IdentityT3 m1 m2 m4 a -> IdentityT4 m1 m2 m3 m4 a infixl 3 Source

(-*--:) :: (Monad m1, Monad m2, Monad m3, Monad m4) => IdentityT3 m1 m3 m4 a -> IdentityT4 m1 m2 m3 m4 a infixl 3 Source

(*---:) :: (Monad m1, Monad m2, Monad m3, Monad m4) => IdentityT3 m2 m3 m4 a -> IdentityT4 m1 m2 m3 m4 a infixl 3 Source

(--**:) :: (Monad m1, Monad m2, Monad m3, Monad m4) => IdentityT2 m1 m2 a -> IdentityT4 m1 m2 m3 m4 a infixl 3 Source

(-*-*:) :: (Monad m1, Monad m2, Monad m3, Monad m4) => IdentityT2 m1 m3 a -> IdentityT4 m1 m2 m3 m4 a infixl 3 Source

(*--*:) :: (Monad m1, Monad m2, Monad m3, Monad m4) => IdentityT2 m2 m3 a -> IdentityT4 m1 m2 m3 m4 a infixl 3 Source

(*-*-:) :: (Monad m1, Monad m2, Monad m3, Monad m4) => IdentityT2 m2 m4 a -> IdentityT4 m1 m2 m3 m4 a infixl 3 Source

(-**-:) :: (Monad m1, Monad m2, Monad m3, Monad m4) => IdentityT2 m1 m4 a -> IdentityT4 m1 m2 m3 m4 a infixl 3 Source

(**--:) :: (Monad m1, Monad m2, Monad m3, Monad m4) => IdentityT2 m3 m4 a -> IdentityT4 m1 m2 m3 m4 a infixl 3 Source

(-***:) :: (Monad m1, Monad m2, Monad m3, Monad m4) => IdentityT m1 a -> IdentityT4 m1 m2 m3 m4 a infixl 3 Source

(*-**:) :: (Monad m1, Monad m2, Monad m3, Monad m4) => IdentityT m2 a -> IdentityT4 m1 m2 m3 m4 a infixl 3 Source

(**-*:) :: (Monad m1, Monad m2, Monad m3, Monad m4) => IdentityT m3 a -> IdentityT4 m1 m2 m3 m4 a infixl 3 Source

(***-:) :: (Monad m1, Monad m2, Monad m3, Monad m4) => IdentityT m4 a -> IdentityT4 m1 m2 m3 m4 a infixl 3 Source

identity-roll

transrollI4 :: (Monad m1, Monad (t2 m1), Monad (t3 (t2 m1)), MonadTrans_ m2 t2, MonadTrans_ m3 t3, MonadTrans_ m4 t4) => IdentityT4 m1 m2 m3 m4 a -> IdentityT (t4 (t3 (t2 m1))) a Source

untransrollI4 :: (Monad m1, Monad (t2 m1), Monad (t3 (t2 m1)), MonadTrans_ m2 t2, MonadTrans_ m3 t3, MonadTrans_ m4 t4) => IdentityT (t4 (t3 (t2 m1))) a -> IdentityT4 m1 m2 m3 m4 a Source

lift

mapIdentityT4 :: (m1 (m2 (m3 (m4 a))) -> n1 (n2 (n3 (n4 b)))) -> IdentityT4 m1 m2 m3 m4 a -> IdentityT4 n1 n2 n3 n4 b Source

liftCallCC4 :: CallCC4 m1 m2 m3 m4 a b -> CallCC (IdentityT4 m1 m2 m3 m4) a b Source

liftCatch4 :: Catch4 e m1 m2 m3 m4 a -> Catch e (IdentityT4 m1 m2 m3 m4) a Source

Level-5

newtype IdentityT5 f1 f2 f3 f4 f5 a Source

Constructors

IdentityT5 

Fields

runIdentityT5 :: f1 (f2 (f3 (f4 (f5 a))))
 

Instances

(Monad m1, Monad m2, Traversable m2, Monad m3, Traversable m3, Monad m4, Traversable m4, Monad m5, Traversable m5) => Monad (IdentityT5 m1 m2 m3 m4 m5) Source 
(Functor f1, Functor f2, Functor f3, Functor f4, Functor f5) => Functor (IdentityT5 f1 f2 f3 f4 f5) Source 
(Applicative m1, Applicative m2, Applicative m3, Applicative m4, Applicative m5) => Applicative (IdentityT5 m1 m2 m3 m4 m5) Source 
(Foldable f1, Foldable f2, Foldable f3, Foldable f4, Foldable f5) => Foldable (IdentityT5 f1 f2 f3 f4 f5) Source 
(Traversable f1, Traversable f2, Traversable f3, Traversable f4, Traversable f5) => Traversable (IdentityT5 f1 f2 f3 f4 f5) Source 
(Alternative m1, Alternative m2, Alternative m3, Alternative m4, Alternative m5) => Alternative (IdentityT5 m1 m2 m3 m4 m5) Source 
(MonadPlus m1, Alternative m2, Monad m2, Traversable m2, Alternative m3, Monad m3, Traversable m3, Alternative m4, Monad m4, Traversable m4, Alternative m5, Monad m5, Traversable m5) => MonadPlus (IdentityT5 m1 m2 m3 m4 m5) Source 
(MonadIO m1, Monad m1, Monad m2, Traversable m2, Monad m3, Traversable m3, Monad m4, Traversable m4, Monad m5, Traversable m5) => MonadIO (IdentityT5 m1 m2 m3 m4 m5) Source 
Eq (f1 (f2 (f3 (f4 (f5 a))))) => Eq (IdentityT5 f1 f2 f3 f4 f5 a) Source 
Ord (f1 (f2 (f3 (f4 (f5 a))))) => Ord (IdentityT5 f1 f2 f3 f4 f5 a) Source 
Read (f1 (f2 (f3 (f4 (f5 a))))) => Read (IdentityT5 f1 f2 f3 f4 f5 a) Source 
Show (f1 (f2 (f3 (f4 (f5 a))))) => Show (IdentityT5 f1 f2 f3 f4 f5 a) Source 

identity-cover

(*****:) :: (Monad m1, Monad m2, Monad m3, Monad m4, Monad m5) => Identity a -> IdentityT5 m1 m2 m3 m4 m5 a infixl 3 Source

(----*:) :: (Monad m1, Monad m2, Monad m3, Monad m4, Monad m5) => IdentityT4 m1 m2 m3 m4 a -> IdentityT5 m1 m2 m3 m4 m5 a infixl 3 Source

(---*-:) :: (Monad m1, Monad m2, Monad m3, Monad m4, Monad m5) => IdentityT4 m1 m2 m3 m5 a -> IdentityT5 m1 m2 m3 m4 m5 a infixl 3 Source

(--*--:) :: (Monad m1, Monad m2, Monad m3, Monad m4, Monad m5) => IdentityT4 m1 m2 m4 m5 a -> IdentityT5 m1 m2 m3 m4 m5 a infixl 3 Source

(-*---:) :: (Monad m1, Monad m2, Monad m3, Monad m4, Monad m5) => IdentityT4 m1 m3 m4 m5 a -> IdentityT5 m1 m2 m3 m4 m5 a infixl 3 Source

(*----:) :: (Monad m1, Monad m2, Monad m3, Monad m4, Monad m5) => IdentityT4 m2 m3 m4 m5 a -> IdentityT5 m1 m2 m3 m4 m5 a infixl 3 Source

(---**:) :: (Monad m1, Monad m2, Monad m3, Monad m4, Monad m5) => IdentityT3 m1 m2 m3 a -> IdentityT5 m1 m2 m3 m4 m5 a infixl 3 Source

(--*-*:) :: (Monad m1, Monad m2, Monad m3, Monad m4, Monad m5) => IdentityT3 m1 m2 m4 a -> IdentityT5 m1 m2 m3 m4 m5 a infixl 3 Source

(-*--*:) :: (Monad m1, Monad m2, Monad m3, Monad m4, Monad m5) => IdentityT3 m1 m3 m4 a -> IdentityT5 m1 m2 m3 m4 m5 a infixl 3 Source

(*---*:) :: (Monad m1, Monad m2, Monad m3, Monad m4, Monad m5) => IdentityT3 m2 m3 m4 a -> IdentityT5 m1 m2 m3 m4 m5 a infixl 3 Source

(*--*-:) :: (Monad m1, Monad m2, Monad m3, Monad m4, Monad m5) => IdentityT3 m2 m3 m5 a -> IdentityT5 m1 m2 m3 m4 m5 a infixl 3 Source

(-*-*-:) :: (Monad m1, Monad m2, Monad m3, Monad m4, Monad m5) => IdentityT3 m1 m3 m5 a -> IdentityT5 m1 m2 m3 m4 m5 a infixl 3 Source

(--**-:) :: (Monad m1, Monad m2, Monad m3, Monad m4, Monad m5) => IdentityT3 m1 m2 m5 a -> IdentityT5 m1 m2 m3 m4 m5 a infixl 3 Source

(-**--:) :: (Monad m1, Monad m2, Monad m3, Monad m4, Monad m5) => IdentityT3 m1 m4 m5 a -> IdentityT5 m1 m2 m3 m4 m5 a infixl 3 Source

(*-*--:) :: (Monad m1, Monad m2, Monad m3, Monad m4, Monad m5) => IdentityT3 m2 m4 m5 a -> IdentityT5 m1 m2 m3 m4 m5 a infixl 3 Source

(**---:) :: (Monad m1, Monad m2, Monad m3, Monad m4, Monad m5) => IdentityT3 m3 m4 m5 a -> IdentityT5 m1 m2 m3 m4 m5 a infixl 3 Source

(--***:) :: (Monad m1, Monad m2, Monad m3, Monad m4, Monad m5) => IdentityT2 m1 m2 a -> IdentityT5 m1 m2 m3 m4 m5 a infixl 3 Source

(-*-**:) :: (Monad m1, Monad m2, Monad m3, Monad m4, Monad m5) => IdentityT2 m1 m3 a -> IdentityT5 m1 m2 m3 m4 m5 a infixl 3 Source

(*--**:) :: (Monad m1, Monad m2, Monad m3, Monad m4, Monad m5) => IdentityT2 m2 m3 a -> IdentityT5 m1 m2 m3 m4 m5 a infixl 3 Source

(*-*-*:) :: (Monad m1, Monad m2, Monad m3, Monad m4, Monad m5) => IdentityT2 m2 m4 a -> IdentityT5 m1 m2 m3 m4 m5 a infixl 3 Source

(-**-*:) :: (Monad m1, Monad m2, Monad m3, Monad m4, Monad m5) => IdentityT2 m1 m4 a -> IdentityT5 m1 m2 m3 m4 m5 a infixl 3 Source

(**--*:) :: (Monad m1, Monad m2, Monad m3, Monad m4, Monad m5) => IdentityT2 m3 m4 a -> IdentityT5 m1 m2 m3 m4 m5 a infixl 3 Source

(**-*-:) :: (Monad m1, Monad m2, Monad m3, Monad m4, Monad m5) => IdentityT2 m3 m5 a -> IdentityT5 m1 m2 m3 m4 m5 a infixl 3 Source

(*-**-:) :: (Monad m1, Monad m2, Monad m3, Monad m4, Monad m5) => IdentityT2 m2 m5 a -> IdentityT5 m1 m2 m3 m4 m5 a infixl 3 Source

(-***-:) :: (Monad m1, Monad m2, Monad m3, Monad m4, Monad m5) => IdentityT2 m1 m5 a -> IdentityT5 m1 m2 m3 m4 m5 a infixl 3 Source

(***--:) :: (Monad m1, Monad m2, Monad m3, Monad m4, Monad m5) => IdentityT2 m4 m5 a -> IdentityT5 m1 m2 m3 m4 m5 a infixl 3 Source

(-****:) :: (Monad m1, Monad m2, Monad m3, Monad m4, Monad m5) => IdentityT m1 a -> IdentityT5 m1 m2 m3 m4 m5 a infixl 3 Source

(*-***:) :: (Monad m1, Monad m2, Monad m3, Monad m4, Monad m5) => IdentityT m2 a -> IdentityT5 m1 m2 m3 m4 m5 a infixl 3 Source

(**-**:) :: (Monad m1, Monad m2, Monad m3, Monad m4, Monad m5) => IdentityT m3 a -> IdentityT5 m1 m2 m3 m4 m5 a infixl 3 Source

(***-*:) :: (Monad m1, Monad m2, Monad m3, Monad m4, Monad m5) => IdentityT m4 a -> IdentityT5 m1 m2 m3 m4 m5 a infixl 3 Source

(****-:) :: (Monad m1, Monad m2, Monad m3, Monad m4, Monad m5) => IdentityT m5 a -> IdentityT5 m1 m2 m3 m4 m5 a infixl 3 Source

identity-roll

transrollI5 :: (Monad m1, Monad (t2 m1), Monad (t3 (t2 m1)), Monad (t4 (t3 (t2 m1))), MonadTrans_ m2 t2, MonadTrans_ m3 t3, MonadTrans_ m4 t4, MonadTrans_ m5 t5) => IdentityT5 m1 m2 m3 m4 m5 a -> IdentityT (t5 (t4 (t3 (t2 m1)))) a Source

untransrollI5 :: (Monad m1, Monad (t2 m1), Monad (t3 (t2 m1)), Monad (t4 (t3 (t2 m1))), MonadTrans_ m2 t2, MonadTrans_ m3 t3, MonadTrans_ m4 t4, MonadTrans_ m5 t5) => IdentityT (t5 (t4 (t3 (t2 m1)))) a -> IdentityT5 m1 m2 m3 m4 m5 a Source

lift

mapIdentityT5 :: (m1 (m2 (m3 (m4 (m5 a)))) -> n1 (n2 (n3 (n4 (n5 b))))) -> IdentityT5 m1 m2 m3 m4 m5 a -> IdentityT5 n1 n2 n3 n4 n5 b Source

liftCallCC5 :: CallCC5 m1 m2 m3 m4 m5 a b -> CallCC (IdentityT5 m1 m2 m3 m4 m5) a b Source

liftCatch5 :: Catch5 e m1 m2 m3 m4 m5 a -> Catch e (IdentityT5 m1 m2 m3 m4 m5) a Source