V      !"#$%&'()*+,-./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!"(2468=JKNone!"(2468=JKAll 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!"(2468=JKAll 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!"(23468=HJKM                 None!"(2468=JKNone!"(2468=JKIA 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!"(2468=JK" !"#$%&'()*+,-./0" !"#$%&'()*+,-./0None!"(2468=JK" !"#$%&'()*+,-./0" !"#$%&'()*+,-./0None!"(2468=JK1YA 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!"(2468=JK123456789:;<=>?@A345219:;<=>?@A867None!"(2468=JK123456789:;<=>?@A345219:;<=>?@A867None!"(23468=HJKMC2A 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.BCDEFGHIJKLMNOPQRSTUVWX$%&'()*+BCDEFGHIJKLMNOPQRSTUVWXDEFCBJKLMNOPQRSTUVWXIGHBCDEFGHIJKLMNOPQRSTUVWX$%&'()*+None!"(23468=JKBCDEFGHIJKLMNOPQRSTUVWXDEFCBJKLMNOPQRSTUVWXIGHNone!"(23468=JKBCDEFGHIJKLMNOPQRSTUVWDEFCBJKLMNOPQRSTUVWIGH None!"(2468=JKYYA 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,-./0123YZ[\]^_`abcdefghi[\]ZYabcdefghi`^_YZ[\]^_`abcdefghi,-./0123 None!"(23468=HJKMk2A 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 40, 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{|}~56789:;<jklmnopqrstuvwxyz{|}~lmnkjrstuvwxyz{|}~qopjklmnopqrstuvwxyz{|}~56789:;< None!"(2468=JKIA 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.'>?@ABCDE""%>?@ABCDE None!"(23468=HJKM9FGHIJKLM887FGHIJKLMNone!"(2468=JK88 None!"(23468=HJKM9NOPQRSTU887NOPQRSTUV !"#$%&'())*+,-./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{|}~   multistate-0.6.2.0%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.MultiRWSMonadMultiWritermTellMonadMultiReadermAskMonadMultiStatemSetmGetHInithInithSplitAppendHList:+:HNilhAppend 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:0transformers-0.3.0.0Control.Monad.Trans.State.LazyStateT$fMonadWriterwMultiStateT$fMonadStatesMultiStateT$fMonadFixMultiStateT$fMonadMultiStateaMultiStateT$fMonadTransMultiStateT$fMonadMultiStateT$fApplicativeMultiStateT$fFunctorMultiStateTControl.Monad.Trans.ReaderReaderT$fMonadWriterwMultiReaderT$fMonadStatesMultiReaderT$fMonadFixMultiReaderT$fMonadMultiReaderaMultiReaderT$fMonadTransMultiReaderT$fMonadMultiReaderT$fApplicativeMultiReaderT$fFunctorMultiReaderTControl.Monad.Trans.Writer.LazyWriterT$fMonadWriterwMultiWriterT$fMonadStatesMultiWriterT$fMonadFixMultiWriterT$fMonadMultiWriteraMultiWriterT$fMonadTransMultiWriterT$fMonadMultiWriterT$fApplicativeMultiWriterT$fFunctorMultiWriterT!Control.Monad.Trans.Writer.Strict Control.Monad.Trans.State.Strict$fMonadFixMultiRWST$fMonadMultiStateaMultiRWST$fMonadMultiWriteraMultiRWST$fMonadMultiReaderaMultiRWST$fMonadTransMultiRWST$fMonadMultiRWST$fApplicativeMultiRWST$fFunctorMultiRWST