-W      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXY 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 { | } ~    None!"(3579>KLNone!"(3579>KLAll methods must be defined.,The idea is: Any monad stack is instance of MonadMultiReader a, iff the stack contains a MultiReaderT x with a element of x.-Access to a specific type in the environment.None!"(3579>KLAll methods must be defined.,The idea is: Any monad stack is instance of MonadMultiState a, iff the stack contains a  MultiStateT x with a element of x.&state set function for values of type a.&state get function for values of type a.None!"(34579>IKLN                 None!"(3579>KLNone!"(3579>KLIA state monad parameterized by the list of types x of the state to carry. Similar to State s = StateT s Identity1A MultiState transformer carrying an empty state.+A State transformer monad patameterized by:-x - The list of types constituting the state,m - The inner monad. corresponds to mtl's 0, but can contain a heterogenous list of types.AThis heterogenous list is represented using Types.Data.List, i.e:'[] - The empty list,a ': b - A list where a is an arbitrary type and b is the rest list. For example, 0MultiStateT '[Int, Bool] :: (* -> *) -> (* -> *)4is a State wrapper containing the types [Int, Bool].AA raw extractor of the contained HList (i.e. the complete state).SMap both the return value and the state of a computation using the given function.- !"#$%&'()*+,-./0" !"#$%&'()*+,-./0" !"#$%&'()*+,-./0+ !"#$%&'()*+,-./0None!"(3579>KL" !"#$%&'()*+,-./0" !"#$%&'()*+,-./0None!"(3579>KL" !"#$%&'()*+,-./0" !"#$%&'()*+,-./0None!"(3579>KL1YA reader monad parameterized by the list of types x of the environment / input to carry. Similar to Reader r = ReaderT r Identity22A MultiReader transformer carrying an empty state.3,A Reader transformer monad patameterized by:Hx - The list of types constituting the environment / input (to be read),m - The inner monad.3 corresponds to mtl's  0, but can contain a heterogenous list of types.AThis heterogenous list is represented using Types.Data.List, i.e:'[] - The empty list,a ': b - A list where a is an arbitrary type and b is the rest list. For example, 1MultiReaderT '[Int, Bool] :: (* -> *) -> (* -> *)9is a Reader transformer containing the types [Int, Bool].6BA raw extractor of the contained HList (i.e. the complete Reader).8YMap both the return value and the environment of a computation using the given function.?Note that there is a difference to mtl's ReaderT, where it is not$ possible to modify the environment.123456789:;<=>?@A!"#$%&'()*+,-.123456789:;<=>?@A345219:;<=>?@A867123456789:;<=>?@A!"#$%&'()*+,-.None!"(3579>KL123456789:;<=>?@A345219:;<=>?@A867None!"(3579>KL123456789:;<=>?@A345219:;<=>?@A867None!"(34579>IKLNC2A MultiWriter transformer carrying an empty state.D,A Writer transformer monad patameterized by:=x - The list of types that can be written (Monoid instances).m - The inner monad.D corresponds to mtl's /0, but can contain a heterogenous list of types.AThis heterogenous list is represented using Types.Data.List, i.e:'[] - The empty list,a ': b - A list where a is an arbitrary type and b is the rest list. For example, 1MultiWriterT '[Int, Bool] :: (* -> *) -> (* -> *)9is a Writer transformer containing the types [Int, Bool].GAA raw extractor of the contained HList (i.e. the complete state).ISMap both the return value and the state of a computation using the given function.%BCDEFGHIJKLMNOPQRSTUVWX0123456789:;<=BCDEFGHIJKLMNOPQRSTUVWXDEFCBJKLMNOPQRSTUVWXIGH#BCDEFGHIJKLMNOPQRSTUVWX0123456789:;<=None!"(34579>KLBCDEFGHIJKLMNOPQRSTUVWXDEFCBJKLMNOPQRSTUVWXIGHNone!"(34579>KLBCDEFGHIJKLMNOPQRSTUVWDEFCBJKLMNOPQRSTUVWIGH None!"(3579>KLYYA reader monad parameterized by the list of types x of the environment / input to carry. Similar to Reader r = ReaderT r IdentityZ2A MultiReader transformer carrying an empty state.[,A Reader transformer monad patameterized by:Hx - The list of types constituting the environment / input (to be read),m - The inner monad.[ corresponds to mtl's  0, but can contain a heterogenous list of types.AThis heterogenous list is represented using Types.Data.List, i.e:'[] - The empty list,a ': b - A list where a is an arbitrary type and b is the rest list. For example, 1MultiReaderT '[Int, Bool] :: (* -> *) -> (* -> *)9is a Reader transformer containing the types [Int, Bool].^BA raw extractor of the contained HList (i.e. the complete Reader).`YMap both the return value and the environment of a computation using the given function.?Note that there is a difference to mtl's ReaderT, where it is not$ possible to modify the environment.YZ[\]^_`abcdefghi>?@ABCDEFGHIJKYZ[\]^_`abcdefghi[\]ZYabcdefghi`^_YZ[\]^_`abcdefghi>?@ABCDEFGHIJK None!"(34579>IKLNk2A MultiWriter transformer carrying an empty state.l,A Writer transformer monad patameterized by:=x - The list of types that can be written (Monoid instances).m - The inner monad.l corresponds to mtl's L0, but can contain a heterogenous list of types.AThis heterogenous list is represented using Types.Data.List, i.e:'[] - The empty list,a ': b - A list where a is an arbitrary type and b is the rest list. For example, 1MultiWriterT '[Int, Bool] :: (* -> *) -> (* -> *)9is a Writer transformer containing the types [Int, Bool].oAA raw extractor of the contained HList (i.e. the complete state).qSMap both the return value and the state of a computation using the given function.%jklmnopqrstuvwxyz{|}~MNOPQRSTUVWXYZjklmnopqrstuvwxyz{|}~lmnkjrstuvwxyz{|}~qop#jklmnopqrstuvwxyz{|}~MNOPQRSTUVWXYZ None!"(3579>KLIA state monad parameterized by the list of types x of the state to carry. Similar to State s = StateT s Identity1A MultiState transformer carrying an empty state.+A State transformer monad patameterized by:-x - The list of types constituting the state,m - The inner monad. corresponds to mtl's [0, but can contain a heterogenous list of types.AThis heterogenous list is represented using Types.Data.List, i.e:'[] - The empty list,a ': b - A list where a is an arbitrary type and b is the rest list. For example, 0MultiStateT '[Int, Bool] :: (* -> *) -> (* -> *)4is a State wrapper containing the types [Int, Bool].AA raw extractor of the contained HList (i.e. the complete state).SMap both the return value and the state of a computation using the given function.-\]^_`abcdefghi""+\]^_`abcdefghi None!"(34579>IKLN?jklmnopqrstuvw88=jklmnopqrstuvwNone!"(3579>KL88 None!"(34579>IKLN?xyz{|}~88=xyz{|}~ !"#$%&'())*+,-./0123456789:;<=>?@ABCDEFGGH+,IJKLMNOPQCRSTTU+,VWXYZ[\]^_`abcdD E F G G H + , I J K L M N O P Q C R S T T U + , V W X Y Z [ \ ] ^ _ ` a b c d D ' ( ) ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D e f g g h i j k l m n o N O P Q ] ^ _ ` a b c d 6 7 8 9 : ; < = > ? @ A C p D q B r s t u v w x y e f g g h i j k l m n o N O P Q ] ^ _ ` a b c d 6 7 8 9 : ; < = > ? @ A C p D q B r s t u v w x yz{|}~   4lGVQYR7qmcXk5h6Zdva1P%Control.Monad.Trans.MultiWriter.Class%Control.Monad.Trans.MultiReader.Class$Control.Monad.Trans.MultiState.ClassData.HList.HListData.HList.ContainsType#Control.Monad.Trans.MultiState.Lazy$Control.Monad.Trans.MultiReader.Lazy$Control.Monad.Trans.MultiWriter.Lazy&Control.Monad.Trans.MultiReader.Strict&Control.Monad.Trans.MultiWriter.Strict%Control.Monad.Trans.MultiState.Strict!Control.Monad.Trans.MultiRWS.Lazy#Control.Monad.Trans.MultiRWS.StrictControl.Monad.MultiStateControl.Monad.Trans.MultiStateControl.Monad.MultiReaderControl.Monad.Trans.MultiReaderControl.Monad.MultiWriterControl.Monad.Trans.MultiWriterControl.Monad.Trans.MultiRWSMonadMultiWritermTellMonadMultiReadermAskMonadMultiStatemSetmGetHInithInithSplitAppendHListHNil:+:hAppend ContainsType setHListElem getHListElem MultiStateMultiStateTNull MultiStateTrunMultiStateTRawmGetRawmPutRawmapMultiStateTrunMultiStateTrunMultiStateTASrunMultiStateTSArunMultiStateTArunMultiStateTSrunMultiStateT_runMultiStateTNilrunMultiStateTNil_withMultiStatewithMultiStateASwithMultiStateSAwithMultiStateAwithMultiStateSwithMultiState_withMultiStateswithMultiStatesASwithMultiStatesSAwithMultiStatesAwithMultiStatesSwithMultiStates_ inflateState inflateReader inflateWriter MultiReaderMultiReaderTNull MultiReaderTrunMultiReaderTRawmapMultiReaderTrunMultiReaderTrunMultiReaderT_runMultiReaderTNilrunMultiReaderTNil_withMultiReaderwithMultiReader_withMultiReaderswithMultiReaders_ MultiWriterMultiWriterTNull MultiWriterTrunMultiWriterTRawmapMultiWriterTrunMultiWriterTrunMultiWriterTAWrunMultiWriterTWArunMultiWriterTWrunMultiWriterTNilrunMultiWriterTNil_withMultiWriterwithMultiWriterAWwithMultiWriterWAwithMultiWriterWwithMultiWriterswithMultiWritersAWwithMultiWritersWAwithMultiWritersWMultiRWS MultiRWSTNull MultiRWSTrunMultiRWSTRaw runMultiRWSTrunMultiRWSTASW runMultiRWSTWrunMultiRWSTAWrunMultiRWSTSWrunMultiRWSTNilrunMultiRWSTNil_inflateMultiReaderinflateMultiWriterinflateMultiStatemGetRawRmPutRawRmGetRawWmPutRawWmGetRawSmPutRawS mapMultiRWST$fMonadMultiWriterat$fMonadMultiReaderat$fMonadMultiStateat$fHInit: $fHInit[]TFCo:R:Append:l2TFCo:R:Append[]l2 $fEqHList $fEqHList0 $fMonoidHList$fMonoidHList0 $fShowHList $fShowHList0$fContainsTypea:$fContainsTypea:0trans_GZTjP9K5WFq01xC9BAGQpFControl.Monad.Trans.State.LazyStateT$fMonadBaseControlbMultiStateT$fMonadTransControlMultiStateT$fMonadBasebMultiStateT$fMonadPlusMultiStateT$fAlternativeMultiStateT$fMonadIOMultiStateT$fMonadWriterwMultiStateT$fMonadStatesMultiStateT$fMonadFixMultiStateT$fMonadMultiStateaMultiStateT$fMonadTransMultiStateT$fMonadMultiStateT$fApplicativeMultiStateT$fFunctorMultiStateTControl.Monad.Trans.ReaderReaderT$fMonadBaseControlbMultiReaderT$fMonadTransControlMultiReaderT$fMonadBasebMultiReaderT$fMonadPlusMultiReaderT$fAlternativeMultiReaderT$fMonadIOMultiReaderT$fMonadWriterwMultiReaderT$fMonadStatesMultiReaderT$fMonadFixMultiReaderT$fMonadMultiReaderaMultiReaderT$fMonadTransMultiReaderT$fMonadMultiReaderT$fApplicativeMultiReaderT$fFunctorMultiReaderTControl.Monad.Trans.Writer.LazyWriterT$fMonadBaseControlbMultiWriterT$fMonadTransControlMultiWriterT$fMonadBasebMultiWriterT$fMonadPlusMultiWriterT$fAlternativeMultiWriterT$fMonadIOMultiWriterT$fMonadWriterwMultiWriterT$fMonadStatesMultiWriterT$fMonadFixMultiWriterT$fMonadMultiWriteraMultiWriterT$fMonadTransMultiWriterT$fMonadMultiWriterT$fApplicativeMultiWriterT$fFunctorMultiWriterT!Control.Monad.Trans.Writer.Strict Control.Monad.Trans.State.Strict$fMonadBaseControlbMultiRWST$fMonadTransControlMultiRWST$fMonadBasebMultiRWST$fMonadPlusMultiRWST$fAlternativeMultiRWST$fMonadIOMultiRWST$fMonadFixMultiRWST$fMonadMultiStateaMultiRWST$fMonadMultiWriteraMultiRWST$fMonadMultiReaderaMultiRWST$fMonadTransMultiRWST$fMonadMultiRWST$fApplicativeMultiRWST$fFunctorMultiRWST