O="      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                    ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                     Safe    .Deepened the usual Control.Applicative module.MConor McBride and Ross Paterson 2005, (c) 2015 KONISHI Yohsuke 4BSD-style (see the LICENSE file in the distribution)ocean0yohsuke@gmail.com experimentalportableSafe Alias to .  (1+) |> 23"The auguments-flipped function of .  1 <| (+2)3 1 <|(+)|> 23 1 <|(+)|> 2 <|(*)|> 39 1 <|(,)|> 2(1,2) Alias to . Alias to . (1+) |$> [2][3]"The auguments-flipped function of . [1] <$| (+2)[3]("<"++)|$> ["a","b"] <$|(++">") ["<a>","<b>"] Alias to .[(1+)] |*> [2][3][1] <$|(+)|*> [2][3][1] <$|(+)|*> [0,1,2][1,2,3]%[0,1] <$|(+)|*> [2,3] <$|(^)|*> [4,5][16,32,81,243,81,243,256,1024]Efoldr (\x acc -> x <$|(:)|*> acc) ((.*) []) [Just 1, Just 2, Just 3] Just [1,2,3]Efoldr (\x acc -> x <$|(:)|*> acc) ((.*) []) [Just 1, Nothing, Just 3]Nothing(filter (even <$|(&&)|*> (10 >)) [1..100] [2,4,6,8]9filter (even <$|(&&)|*> (10 >) <$|(&&)|*> (5 <)) [1..100][6,8]"The auguments-flipped function of .  Definition:  f |* x = f |*> (.*) x  [(1+)] |* 2[3][1] <$|(+)|* 2[3](,) |$> ["a1","a2"] |* 'b'[("a1",'b'),("a2",'b')](,,) 'a' |$> ["b1","b2"] |* 'c'[('a',"b1",'c'),('a',"b2",'c')]'(,,,) 'a' |$> ["b1","b2"] |* 'c' |* 'd''[('a',"b1",'c','d'),('a',"b2",'c','d')]0(,,,) 'a' |$> ["b1","b2"] |* 'c' |*> ["d1","d2"]Q[('a',"b1",'c',"d1"),('a',"b1",'c',"d2"),('a',"b2",'c',"d1"),('a',"b2",'c',"d2")] Definition:  (*|) = (.*) x <*| f  1 *| [(+2)][3]1 *| [(+)] |* 2[3]1 *|[(+),(-),(*),(^)]|* 2 [3,-1,2,1]1 *|Just (,)|* 2 Just (1,2) Definition:  (.**) = (.*) . (.*) (.**) 1 :: Maybe [Int]Just [1] Definition:  (-*) = ((.*)|$>) (-*) (Just 1) :: Maybe [Int]Just [1] Definition:  (|$>>) = (|$>) . (|$>) (+1) |$>> [[2]][[3]]"The auguments-flipped function of [[2]] <<$| (+1)[[3]] Definition:  f |*>> x = f  $|(|*)|*> x [Just 1] <<$|(+)|*>> [Just 2][Just 3][Just 1] <<$|(,)|*>> [Just 2] [Just (1,2)])[[1]] <<$|(+)|*>> [[2]] <<$|(-)|*>> [[3]][[0]]wfoldr (\n acc -> n <<$|(+)|*>> acc) ((.**) 0) [Right (Just 1), Right (Just 2), Right (Just 3)] :: Either () (Maybe Int)Right (Just 6)vfoldr (\n acc -> n <<$|(+)|*>> acc) ((.**) 0) [Right (Just 1), Right Nothing, Right (Just 3)] :: Either () (Maybe Int) Right NothingVfoldr (\n acc -> n <<$|(+)|*>> acc) ((.**) 0) [Right (Just 1), Right Nothing, Left ()]Left () Definition:  (<<*|) = liftA2 (<*|)  Definition:  f |** x = f |*>> (.**) x [Just 1] <<$|(+)|** 2[Just 3]  Definition:  x **| f = (.**) x <<*| f 1 **|(+)|$>> [Just 2][Just 3]1 **|[Just (+)]|** 2[Just 3]11 **|[Just (+), Just (-), Just (*), Nothing]|** 2![Just 3,Just (-1),Just 2,Nothing]! Definition:  f |-* x = f |*>> (-*) x [Just 1] <<$|(+)|-* [2][Just 3]" Definition:  f |*- x = f |*>> (.*) x [Just 1] <<$|(+)|*- Just 2[Just 3]# Definition:  x -*| f = (-*) x <<*| f [1] -*|(+)|$>> [Just 2][Just 3]$ Definition:  x *-| f = (.*) x <<*| f Just 1 *-|(+)|$>> [Just 2][Just 3]Just 1 *-|[Just (+)]|** 2[Just 3]Just 1 *-|[Just (+)]|*- Just 2[Just 3][1] -*|[Just (+)]|*- Just 2[Just 3]8[1] -*|[Just (+), Just (-), Just (*), Nothing]|*- Just 2![Just 3,Just (-1),Just 2,Nothing]:[1,2] -*|[Just (+), Just (-), Just (*), Nothing]|*- Just 2>[Just 3,Just (-1),Just 2,Nothing,Just 4,Just 0,Just 4,Nothing](print 1 -*|return [\_ _ -> 3]|-* print 212[3]% Definition:  f *>> x = f  $|(*)|*> x %sequence $ Just (print 1) *>> (.**) 21Just 2"(-*) (print 1) *>> return (Just 2)1Just 2& Definition:  (<<*) = liftA2 (<*) %sequence $ (.**) 2 <<* Just (print 1)1Just 28sequence $ Just (print 1) *>> (.**) 3 <<* Just (print 2)12Just 3Lsequence $ [putStr "1", putStr "2"] *>> (.**) 0 <<* [putStr "3", putStr "4"]13142324[0,0,0,0]' Definition:  a -*> x = (-*) a *>> x print 1 -*> (.*) (Just 2)1Just 2( Definition:  x <-* a = x <<* (-*) a (.*) (Just 2) <-* print 11Just 2%print 1 -*> (.*) (Just 3) <-* print 212Just 3%print 1 -*> (.*) (Just 3) <*- Nothing1Nothing) Definition:  a *-> x = (.*) a *>> x $sequence $ print 1 *-> Just ((.*) 2)1Just 2* Definition:  x <*- a = x <<* (.*) a $sequence $ Just ((.*) 2) <*- print 11Just 20sequence $ print 1 *-> Just ((.*) 3) <*- print 212Just 30sequence $ print 1 *-> Just ((.*) 3) <-* NothingNothing !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$2 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$ !"#$%&'()*+.-,/01235678:94>?@;<=ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$4464333336643333 3!3"3#3$3%5&5'5(5)5*5+6,6-6.6/403132333435363738393:3;3<3=3>3?3@3A5B5C5D5E5F5G5H5I5J5K5L5M5N5O6P6Q6R6S6T6U6V6W4X3Y3Z3[3\3]3^3_3`3a3b3c3d3e3f3g3h3i3j3k3l3m3n3o3p3q3r3s3t3u3v3w3x3y5z5{5|5}5~5555555555555555555555555666666666666666643333333333333333333333333333333333333333333333333333333333333335555555555555555555555555555555555 5 5 5 5 5555555555555555555 5!5"5#5$5/Deepened the usual Control.Monad.Writer module.(c) Andy Gill 2001, (c) Oregon Graduate Institute of Science and Technology, 2001, (c) 2015 KONISHI Yohsuke, BSD-style (see the file LICENSE)ocean0yohsuke@gmail.com experimental---Safe%&'()*+,i      !"#$%%&'()*+,%&'()*+,%&'()*+,+Deepened the usual Data.Traversable module.LConor McBride and Ross Paterson 2005, (c) 2015 KONISHI Yohsuke4BSD-style (see the LICENSE file in the distribution)ocean0yohsuke@gmail.com experimental---Safe9;- Synonym to  .sink $ Just [1][Just 1]sink $ Right (Just 1)Just (Right 1)sink [[1,2],[3,4]][[1,3],[1,4],[2,3],[2,4]]sink . sink $ [[1,2],[3,4]][[1,1,2,2],[1,1,2,4],[1,1,3,2],[1,1,3,4],[1,4,2,2],[1,4,2,4],[1,4,3,2],[1,4,3,4],[3,1,2,2],[3,1,2,4],[3,1,3,2],[3,1,3,4],[3,4,2,2],[3,4,2,4],[3,4,3,2],[3,4,3,4]]. Alias to  ./ Definition:  sink2 = (sink|$>) . sink sink2 $ Just [[1]] [[Just 1]]sink2 $ Right (Just [1])Just [Right 1]0 Definition:  float2 = sink . (sink|$>) float2 $ [[Just 1]] Just [[1]]float2 $ Just [Right 1]Right (Just [1])1 Definition:  sink3 = (sink2|$>) . sink sink3 $ Just [[[1]]] [[[Just 1]]]sink3 $ Right [Just [1]][Just [Right 1]]2 Definition:  float3 = sink . (float2|$>) float3 $ [[[Just 1]]] Just [[[1]]]float3 $ [Just [Right 1]]Right [Just [1]] -./0123456 -./0123456 -./0123456 -./0123456'Deepend the usual Control.Monad module.K(c) The University of Glasgow 2001, (c) 2015 KONISHI Yohsuke 4BSD-style (see the LICENSE file in the distribution)ocean0yohsuke@gmail.com experimental---Safe9; 7 Anologous to , but (-<) is left associative. Just -< 3Just 38"The auguments-flipped function of 7. 3 >- JustJust 3:{let plus :: Int -> Int -> Int plus x y = M x >- \a -> -- (>-) is the level-0 bind function, analogous to (>>==) y >- \b -> a + b in plus 3 4:}79 Anologous to &", but the infix preference is low.((3+) <-< (2*) <-< (1+)) -< 17:"The auguments-flipped function of 9. 1 >- ((+1) >-> (*2) >-> (+3))7;(The level-2 bind function, analogous to .:{ -- List-List monadU [["a","b"]] >>== \x -> -- (>>==) is the level-2 bind function, analogous to (>>==) [[0],[1,2]] >>== \y ->  (.**) (x ++ show y):}E[["a0","b0"],["a0","b1","b2"],["a1","a2","b0"],["a1","a2","b1","b2"]]:{ ; let lengthM :: [Int] -> Maybe Int -- (->)-Maybe monad lengthM [] = Nothing# lengthM xs = Just (length xs) ; averageM :: [Int] -> Maybe Double -- (->)-Maybe monad averageM =  (-*) sum >>== \s -> lengthM >>== \l ->0 (.**) (fromIntegral s / fromIntegral l)( in [averageM [10, 25, 70], averageM []]:}[Just 35.0,Nothing]<(The level-2 fish function, analogous to .=,The level-2 sequence function, analogous to . Definition:  m >>~ f = m >>= \_ -> f >,A level-2 cover-bind function, analogous to . Definition:  m >-= f = (-*) m >>= f ?,A level-2 cover-bind function, analogous to . Definition:  m ->= f = (.*) m >>= f @0A level-2 cover-sequence function, analogous to . Definition:  m >-~ f = (-*) m >>~ f A0A level-2 cover-sequence function, analogous to . Definition:  m ->~ f = (.*) m >>~ f B(The level-3 bind function, analogous to .:{  -- IO-List-List monadZ (.*) [["a","b"]] >>>= \x -> -- (>>>=) is the level-3 bind function, analogous to (>>==) (.*) [[0],[1,2]] >>>= \y ->\ (-**) (print (x,y)) >>>~ -- (>>>~) is the level-3 sequence function, analogous to (>>) (.***) (x ++ show y):}("a",0)("a",1)("a",2)("b",0)("b",1)("b",2)E[["a0","b0"],["a0","b1","b2"],["a1","a2","b0"],["a1","a2","b1","b2"]]`This messy code above can be neatly rewritten to the code below by grace of the cover functions.:{  -- IO-List-List monadY [["a","b"]] ->>= \x -> -- (->>=) is a level-3 cover-bind function, analogous to (>>==) [[0],[1,2]] ->>= \y ->[ print (x,y) >--~ -- (>--~) is a level-3 cover-sequence function, analogous to (>>) (.***) (x ++ show y):}("a",0)("a",1)("a",2)("b",0)("b",1)("b",2)E[["a0","b0"],["a0","b1","b2"],["a1","a2","b0"],["a1","a2","b1","b2"]]x789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~x78:9;=>?@A<BDHIJEFGMLKPNOCQSTUVWXYZ[\]^_`abcdefghijklmnoRprstuvwxyz{|}~qx789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~x718191:1;1<1=1>1?1@1A1B1C1D1E1F1G1H1I1J1K1L1M1N1O1P1Q1R1S1T1U1V1W1X1Y1Z1[1\1]1^1_1`1a1b1c1d1e1f1g1h1i1j1k1l1m1n1o1p1q1r1s1t1u1v1w1x1y1z1{1|1}1~1111111111111111111111111111111111111111111111111(Deepened the usual Control.Arrow module.?(c) Ross Paterson 2002, (c) 2015 KONISHI Yohsuke 4BSD-style (see the LICENSE file in the distribution)ocean0yohsuke@gmail.com experimental---Safe,'()*+,-./0123456789:;<=>?@ABCDEF  .Deepened the usual Control.Monad.Trans module.(c) Andy Gill 2001, (c) Oregon Graduate Institute of Science and Technology, 2001, (c) 2015 KONISHI Yohsuke BSD-style (see the file LICENSE)ocean0yohsuke@gmail.com experimental---Safe9;<=?Required only for transfoldtransfold2 $ [Just 1]MaybeT [Just 1]transfold2 $ Just [1]ListT (Just [1])untransfold2 $ MaybeT [Just 1][Just 1]untransfold2 $ ListT (Just [1])Just [1]0transfold3 $ ExceptT (Identity (Right [Just 1]))4MaybeT (ListT (ExceptT (Identity (Right [Just 1]))))Cuntransfold3 $ MaybeT (ListT (ExceptT (Identity (Right [Just 1]))))#ExceptT (Identity (Right [Just 1])) .Deepened the usual Control.Monad.Morph module.>2013 Gabriel Gonzalez, (c) 2015 KONISHI Yohsuke 4BSD-style (see the LICENSE file in the distribution)ocean0yohsuke@gmail.com experimental---Safe9;<=OT Alalog to -.'sinkT $ MaybeT (ListT (Right [Just 1]))!ListT (MaybeT (Right (Just [1])))<sinkT $ MaybeT (ListT (ExceptT (Identity (Right [Just 1]))))6ListT (MaybeT (ExceptT (Identity (Right (Just [1]))))) Alalog to /.=sinkT2 $ MaybeT (ListT (ExceptT (Identity (Right [Just 1]))))6ListT (ExceptT (MaybeT (Identity (Just (Right [1]))))) Alias to G./Equivalent to (|>|) with the arguments flipped. Alias to /The level-2 trans-bind function, analogous to ()?     FHIJKLMNGOP    :    >     4445333334455333445555434455555554344555555555555 5 5 5 5 /Deepened the usual Control.Monad.Except module.(c) 2015 KONISHI Yohsuke  BSD-style (see the file LICENSE)ocean0yohsuke@gmail.com experimental---Safe9;OTE     QRSTUVWXYZ[\ 7Deepened the usual Control.Monad.Trans.Identity module.@(c) 2007 Magnus Therning, (c) 2015 KONISHI Yohsuke BSD-style (see the file LICENSE)ocean0yohsuke@gmail.com experimental---None234DIR&2The level-1 identity-cover function, analogous to '(.*)'%(*:) (Identity 1) :: IdentityT [] Int IdentityT [1]((*:) (Identity 1) :: IdentityT Maybe IntIdentityT (Just 1),2The level-2 identity-cover function, analogous to '(**:)'-(**:) (Identity 1) :: IdentityT2 [] Maybe Int%IdentityT2 {runIdentityT2 = [Just 1]}@(**:) (Identity 1) :: IdentityT2 (Except ()) (Writer String) IntSIdentityT2 {runIdentityT2 = ExceptT (Identity (Right (WriterT (Identity (1,"")))))}-2The level-2 identity-cover function, analogous to '(-*)'0(-*:) (IdentityT [1]) :: IdentityT2 [] Maybe Int%IdentityT2 {runIdentityT2 = [Just 1]}^(-*:) (IdentityT (ExceptT (Identity (Right 1)))) :: IdentityT2 (Except ()) (Writer String) IntSIdentityT2 {runIdentityT2 = ExceptT (Identity (Right (WriterT (Identity (1,"")))))}.2The level-2 identity-cover function, analogous to '(.*)'5(*-:) (IdentityT (Just 1)) :: IdentityT2 [] Maybe Int%IdentityT2 {runIdentityT2 = [Just 1]}[(*-:) (IdentityT (WriterT (Identity (1,"")))) :: IdentityT2 (Except ()) (Writer String) IntSIdentityT2 {runIdentityT2 = ExceptT (Identity (Right (WriterT (Identity (1,"")))))}q !"#$%&'(])*+,-./0^123456789:;<_=>?@ABCDEFGHIJKLMNOP`QRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~babcdefghi !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrY&#$%,-.'()*+ !"456789:/0123@ABCDEFJHGIKLMN;<=>?TUVWXYZ[\]^_`abcdefghijklmnopqrOPQRSi !"#$%&'(])*+,-./0^123456789:;<_=>?@ABCDEFGHIJKLMNOP`QRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~9&3,3-3.3435363738393:3@3A3B3C3D3E3F3G3H3I3J3K3L3M3N3T3U3V3W3X3Y3Z3[3\3]3^3_3`3a3b3c3d3e3f3g3h3i3j3k3l3m3n3o3p3q3r3j !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~           ! " # $ $ % & & ' ( ( ) * * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                     ! " # $ % & '()()(*(+(,(-(.(/(01232425262728292:2;2<2=2>2?2?2@2A2B2C2D2E2F2G2H2I2J2K2L2L2M2NOPOQRSTRSURSVRSWRSXRSYRSZRS[RS\RS]^_^`^abcbcbdbebfbgbhbibj k l m nopopoqrsrtrurvrvrwx*deepcontrol-0.5.4.0-2mnYeowIyCh9aoEmgHmvi8DeepControl.Monad.SignaturesDeepControl.ApplicativeDeepControl.Monad.Trans.WriterDeepControl.TraversableDeepControl.MonadDeepControl.ArrowDeepControl.Monad.TransDeepControl.Monad.MorphDeepControl.Monad.Trans.Except DeepControl.Monad.Trans.IdentityData.Traversable sequenceA traversablePass5Listen5Catch5CallCC5Pass4Listen4Catch4CallCC4Pass3Listen3Catch3CallCC3Pass2Listen2Catch2CallCC2|><|.*|$><$||*><*||**|.**-*|$>><<$||*>><<*||****||-*|*--*|*-|*>><<*-*><-**-><*-.***--*-***-*|$>>><<<$||*>>><<<*||******||-**|*-*|**-|--*|*--|-*---*|-*-|*--|-**|*-*|**-|*>>><<<**-->-*->--*>**->*-*>-**><*--<-*-<--*<**-<*-*<-**.****---*--**-*-**--*-****-****-*|$>>>><<<<$||*>>>><<<<*||****|-***|*-**|**-*|***-|--**|-*-*|*--*|*-*-|-**-|**--|---*|--*-|-*--|*---****|-***|*-**|**-*|***-|--**|-*-*|*--*|*-*-|-**-|**--|---*|--*-|-*--|*---|*>>>><<<<*<---*<--*-<-*--<*---<--**<-*-*<*--*<*-*-<-**-<**--<-***<*-**<**-*<***----*>--*->-*-->*--->--**>-*-*>*--*>*-*->-**->**-->-***>*-**>**-*>***->.*****----*---**--*-*-*--**---*--***-*-***--***-*-*-**-***--*-*****-*****-*****-*|$>>>>><<<<<$||*>>>>><<<<<*||-****|*-***|**-**|***-*|****-|--***|-*-**|*--**|*-*-*|-**-*|**--*|**-*-|*-**-|-***-|***--|---**|--*-*|-*--*|*---*|*--*-|-*-*-|--**-|-**--|*-*--|**---|----*|---*-|--*--|-*---|*-----****|*-***|**-**|***-*|****-|--***|-*-**|*--**|*-*-*|-**-*|**--*|**-*-|*-**-|-***-|***--|---**|--*-*|-*--*|*---*|*--*-|-*-*-|--**-|-**--|*-*--|**---|----*|---*-|--*--|-*---|*----|*>>>>><<<<<*<----*<---*-<--*--<-*---<*----<---**<--*-*<-*--*<*---*<*--*-<-*-*-<--**-<-**--<*-*--<**---<--***<-*-**<*--**<*-*-*<-**-*<**--*<**-*-<*-**-<-***-<***--<-****<*-***<**-**<***-*<****-----*>---*->--*-->-*--->*---->---**>--*-*>-*--*>*---*>*--*->-*-*->--**->-**-->*-*-->**--->--***>-*-**>*--**>*-*-*>-**-*>**--*>**-*->*-**->-***->***-->-****>*-***>**-**>***-*>****->listen2pass2listen3pass3listen4pass4listen5pass5sinksinkmapsink2float2sink3float3sink4float4sink5float5-<>-<-<>->>>==>>=>>>~>-=->=>-~->~>>>=>>>=>>>>~>--=->-=-->=>>-=->>=>->=-->~->-~>--~->>~>->~>>-~>>>>=>>>>=>>>>>~--->=-->-=->--=>---=-->>=->->=>-->=>->-=->>-=>>--=->>>=>->>=>>->=>>>-=--->~-->-~->--~>---~-->>~->->~>-->~>->-~->>-~>>--~->>>~>->>~>>->~>>>-~>>>>>=>>>>>=>>>>>>~---->=--->-=-->--=->---=>----=--->>=-->->=->-->=>--->=>-->-=->->-=-->>-=->>--=>->--=>>---=-->>>=->->>=>-->>=>->->=->>->=>>-->=>>->-=>->>-=->>>-=>>>--=->>>>=>->>>=>>->>=>>>->=>>>>-=---->~--->-~-->--~->---~>----~--->>~-->->~->-->~>--->~>-->-~->->-~-->>-~->>--~>->--~>>---~-->>>~->->>~>-->>~>->->~->>->~>>-->~>>->-~>->>-~->>>-~>>>--~->>>>~>->>>~>>->>~>>>->~>>>>-~Kleisli5 runKleisli5Kleisli4 runKleisli4Kleisli3 runKleisli3Kleisli2 runKleisli2$fArrowKleisli5$fCategoryTYPEKleisli5$fArrowKleisli4$fCategoryTYPEKleisli4$fArrowKleisli3$fCategoryTYPEKleisli3$fArrowKleisli2$fCategoryTYPEKleisli2 MonadTrans_transuntrans transfold2 untransfold2 transfold3 untransfold3 transfold4 untransfold4 transfold5 untransfold5$fMonadTrans_WriterTWriterT$fMonadTrans_ExceptTExceptT$fMonadTrans_MaybeMaybeT$fMonadTrans_[]ListT$fMonadTrans_IdentityIdentityTSinkTsinkTsinkT2sinkT3sinkT4|>||<||*||>=>|>~|>>=|>>~|>>=>|>>||<<||**||-*||>>>=|>>>~|>>>=>|>>>||<<<||***||--*||-**||*-*||>>>>=|>>>>~|>>>>||<<<<||****||---*||--**||-*-*||*--*||-***||*-**||**-*||>>>>>=|>>>>>~|>>>>>||<<<<<||*****||----*||---**||--*-*||-*--*||*---*||--***||-*-**||*--**||*-*-*||-**-*||**--*||-****||*-***||**-**||***-*|$fSinkTWriterT$fSinkTExceptT $fSinkTListT $fSinkTMaybeT$fSinkTIdentityT throwError2 catchError2 throwError3 catchError3 throwError4 catchError4 throwError5 catchError5 IdentityT5 runIdentityT5 IdentityT4 runIdentityT4 IdentityT3 runIdentityT3 IdentityT2 runIdentityT2*: transfoldI2 untransfoldI2 mapIdentityT2 liftCallCC2 liftCatch2**:-*:*-: transfoldI3 untransfoldI3 mapIdentityT3 liftCallCC3 liftCatch3***:--*:-*-:*--:-**:*-*:**-: transfoldI4 untransfoldI4 mapIdentityT4 liftCallCC4 liftCatch4****:---*:--*-:-*--:*---:--**:-*-*:-**-:*-*-:**--:*--*:-***:*-**:**-*:***-: transfoldI5 untransfoldI5 mapIdentityT5 liftCallCC5 liftCatch5*****:----*:---*-:--*--:-*---:*----:---**:--*-*:-*--*:*---*:*--*-:-*-*-:--**-:-**--:*-*--:**---:--***:-*-**:*--**:*-*-*:-**-*:**--*:**-*-:*-**-:-***-:***--:-****:*-***:**-**:***-*:****-:$fMonadIOIdentityT5$fMonadPlusIdentityT5$fAlternativeIdentityT5$fMonadIdentityT5$fApplicativeIdentityT5$fMonadIOIdentityT4$fMonadPlusIdentityT4$fAlternativeIdentityT4$fMonadIdentityT4$fApplicativeIdentityT4$fMonadIOIdentityT3$fMonadPlusIdentityT3$fAlternativeIdentityT3$fMonadIdentityT3$fApplicativeIdentityT3$fMonadIOIdentityT2$fMonadPlusIdentityT2$fAlternativeIdentityT2$fMonadIdentityT2$fApplicativeIdentityT2$fFunctorIdentityT2$fEqIdentityT2$fOrdIdentityT2$fReadIdentityT2$fShowIdentityT2$fFoldableIdentityT2$fTraversableIdentityT2$fFunctorIdentityT3$fEqIdentityT3$fOrdIdentityT3$fReadIdentityT3$fShowIdentityT3$fFoldableIdentityT3$fTraversableIdentityT3$fFunctorIdentityT4$fEqIdentityT4$fOrdIdentityT4$fReadIdentityT4$fShowIdentityT4$fFoldableIdentityT4$fTraversableIdentityT4$fFunctorIdentityT5$fEqIdentityT5$fOrdIdentityT5$fReadIdentityT5$fShowIdentityT5$fFoldableIdentityT5$fTraversableIdentityT5transformers-0.5.2.0Control.Monad.SignaturesCallCCCatchListenPassbaseGHC.Base$pure Data.Functor<$><*><$ Applicative*><*Control.Applicativeoptional WrappedMonad WrapMonad unwrapMonad WrappedArrow WrapArrow unwrapArrowZipList getZipListData.Functor.ConstConstgetConstliftA3liftA2liftA<**> Alternativeempty<|>somemany Control.MonadguardjoinMonadfail>>=>>returnFunctorfmapControl.Monad.FixMonadFixmfixmapMsequenceMonoidmemptymappendmconcatControl.Monad.IO.ClassMonadIOliftIOmfilter<$!>unless replicateM_ replicateMfoldM_foldM zipWithM_zipWithM mapAndUnzipMforever<=<>=>filterMforM Data.Foldablemsum sequence_forM_mapM_ Data.Monoid<>DualgetDualEndoappEndoAllgetAllAnygetAnySumgetSumProduct getProductFirstgetFirstLastgetLastAltgetAlt Data.FunctionfixvoidapliftM5liftM4liftM3liftM2liftMwhen=<< MonadPlusmzeromplusControl.Monad.Trans.Class MonadTranslift mtl-2.2.1-6qsR1PHUy5lL47Hpoa4jCMControl.Monad.Writer.Classcensorlistens MonadWritertellwriterlistenpassControl.Monad.Trans.Writer.LazyWriterT runWriterTWriter runWriter execWriter mapWriter execWriterT mapWriterT. Control.ArrowleftApp^<<<<^>>^^>>returnAArrowarrfirstsecond***&&&Kleisli runKleisli ArrowZero zeroArrow ArrowPlus<+> ArrowChoice|||+++leftright ArrowApplyapp ArrowMonad ArrowLooploopControl.Category>>><<<#mmorph-1.0.9-7Fxwo0Ga2nU9I92PguUETdControl.Monad.Morphhoist|>==<|<|<>|>squash generalizeMFunctorMMonadembedControl.Monad.Error.Class MonadError throwError catchErrorControl.Monad.Trans.ExceptExceptTExcept runExcept mapExcept withExcept runExceptT mapExceptT withExceptTlift2IdentityT2lift2IdentityT3lift2IdentityT4lift2IdentityT5Data.Functor.IdentityIdentity runIdentityControl.Monad.Trans.Identity liftCatch liftCallCC mapIdentityT IdentityT runIdentityT