!      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklm n o p q r s t u v w x y z { | } ~                                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N OPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Safe&'.=?@ACHUV_X multistatewIn contrast to MonadMultiReader, MonadMultiGet is defined for State too, so it corresponds to read-access of any kind.9Note however that for MultiRWS, only the values from the state part can be accessed via  MonadMultiGet', due to limitations of the design of MultiRWS; and of the type system. This is issue is resolved in the MultiGST type. multistate-Access to a specific type in the environment.Safe&'.=?@ACHUV_# multistateAll 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. multistate-Access to a specific type in the environment.Safe&'.=?@ACHUV_$ySafe&'.=?@ACHUV_%G  Safe&'.=>?@ACHSUVX_&-  5Safe&'.=?@ACHUV_(\ multistate=for get/put of a value in a HList, with type-directed lookup.  Safe&'.=>?@ACHSUVX_4$ multistate2A MultiWriter transformer carrying an empty state.% multistate,A Writer transformer monad patameterized by:=x - The list of types that can be written (Monoid instances).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, 1MultiWriterT '[Int, Bool] :: (* -> *) -> (* -> *)9is a Writer transformer containing the types [Int, Bool].( multistateAA raw extractor of the contained HList (i.e. the complete state).* multistateSMap both the return value and the state of a computation using the given function. #$%&'()*+,-./0123456789%&'$# +,-./0123456789*()Safe&'.=>?@ACHSUVX_BI multistate2A MultiWriter transformer carrying an empty state.J multistate,A Writer transformer monad patameterized by:=x - The list of types that can be written (Monoid instances).m - The inner monad.J 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].M multistateAA raw extractor of the contained HList (i.e. the complete state).O multistateSMap both the return value and the state of a computation using the given function. HIJKLMNOPQRSTUVWXYZ[\]^JKLIH PQRSTUVWXYZ[\]^OMNSafe&'.=>?@ACHUV_C HIJKLMNOPQRSTUVWXYZ[\]JKLIH PQRSTUVWXYZ[\]OMN Safe&'.=?@ACHUV_Rm multistateIA state monad parameterized by the list of types x of the state to carry. Similar to State s = StateT s Identityn multistate1A MultiState transformer carrying an empty state.o multistate+A State transformer monad patameterized by:-x - The list of types constituting the state,m - The inner monad.o 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].r multistateAA raw extractor of the contained HList (i.e. the complete state).t multistateSMap both the return value and the state of a computation using the given function.$mnopqrstuvwxyz{|}~$opqnmuvwxyz{|}~trs Safe&'.=?@ACHUV_a multistateIA state monad parameterized by the list of types x of the state to carry. Similar to State s = StateT s Identity multistate1A MultiState transformer carrying an empty state. multistate+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]. multistateAA raw extractor of the contained HList (i.e. the complete state). multistateSMap both the return value and the state of a computation using the given function.$$Safe&'.=?@ACHUV_b$$ Safe&'.=?@ACHUV_tl multistateYA reader monad parameterized by the list of types x of the environment / input to carry. Similar to Reader r = ReaderT r Identity multistate2A MultiReader transformer carrying an empty state. multistate,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]. multistateBA raw extractor of the contained HList (i.e. the complete Reader). multistateYMap 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. Safe&'.=?@ACHUV_ multistateYA reader monad parameterized by the list of types x of the environment / input to carry. Similar to Reader r = ReaderT r Identity multistate2A MultiReader transformer carrying an empty state. multistate,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]. multistateBA raw extractor of the contained HList (i.e. the complete Reader). multistateYMap 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.Safe&'.=?@ACHUV_ Safe&'.=>?@ACHSUVX_d;   !"#$%&'()*+,-./0123456789:;<=>?;   !"#$%&'()*+,-./012345678?9;=:<>Safe&'.=>?@ACHSUVX_; OPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~;QRSPO TUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{}|~Safe&'.=?@ACHUV_; OPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~;QRSPO TUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{}|~None&',.=?@ACHMUV_kNNone&'.=?@ACHMUV_k$ $ None&'.=?@ACHMUV_k( ( None&'.=?@ACHUV_u& &  !"#$%&'()*+,-./0123456789:;<<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]:;<<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\] ^ _ ` ` 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 O 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 O z { | } ~      > ? y     > ? y     G H I J K L M N k l m n o p q r s t u v w y O x GHIJKLMNklmnopqrstuvwyOx>>     )multistate-0.8.0.3-DzTZQmX9KO4CBksaUU0gmb"Control.Monad.Trans.MultiGet.Class%Control.Monad.Trans.MultiReader.Class$Control.Monad.Trans.MultiState.Class%Control.Monad.Trans.MultiWriter.ClassData.HList.HListData.HList.ContainsType&Control.Monad.Trans.MultiWriter.Strict$Control.Monad.Trans.MultiWriter.Lazy%Control.Monad.Trans.MultiState.Strict#Control.Monad.Trans.MultiState.Lazy&Control.Monad.Trans.MultiReader.Strict$Control.Monad.Trans.MultiReader.Lazy#Control.Monad.Trans.MultiRWS.Strict!Control.Monad.Trans.MultiRWS.Lazy#Control.Monad.Trans.MultiGST.Strict!Control.Monad.Trans.MultiGST.LazyControl.Monad.Trans.MultiWriterControl.Monad.Trans.MultiStateControl.Monad.Trans.MultiReaderControl.Monad.Trans.MultiRWS#Control.Monad.Trans.MultiGST.CommonControl.Monad.Trans.MultiGST MonadMultiGetmGet$fMonadMultiGetatMonadMultiReadermAsk$fMonadMultiReaderatMonadMultiStatemSet$fMonadMultiStateatMonadMultiWritermTell$fMonadMultiWriteratHInithInithSplitAppendHListHNil:+:hAppend $fEqHList $fEqHList0 $fMonoidHList$fMonoidHList0$fSemigroupHList$fSemigroupHList0 $fShowHList $fShowHList0$fHInit: $fHInit[] ContainsType setHListElem getHListElem$fContainsTypea:$fContainsTypea:0 MultiWriterMultiWriterTNull MultiWriterTrunMultiWriterTRawmGetRawmPutRawmapMultiWriterTrunMultiWriterTrunMultiWriterTAWrunMultiWriterTWArunMultiWriterTWrunMultiWriterTNilrunMultiWriterTNil_withMultiWriterwithMultiWriterAWwithMultiWriterWAwithMultiWriterWwithMultiWriterswithMultiWritersAWwithMultiWritersWAwithMultiWritersW inflateWriter$fMonadBaseControlbMultiWriterT$fMonadTransControlMultiWriterT$fMonadBasebMultiWriterT$fMonadPlusMultiWriterT$fAlternativeMultiWriterT$fMonadIOMultiWriterT$fMonadWriterwMultiWriterT$fMonadStatesMultiWriterT$fMonadFixMultiWriterT$fMonadMultiWriteraMultiWriterT$fMonadTransMultiWriterT$fMonadMultiWriterT$fApplicativeMultiWriterT$fFunctorMultiWriterT MultiStateMultiStateTNull MultiStateTrunMultiStateTRawmapMultiStateTrunMultiStateTrunMultiStateTASrunMultiStateTSArunMultiStateTArunMultiStateTSrunMultiStateT_runMultiStateTNilrunMultiStateTNil_withMultiStatewithMultiStateASwithMultiStateSAwithMultiStateAwithMultiStateSwithMultiState_withMultiStateswithMultiStatesASwithMultiStatesSAwithMultiStatesAwithMultiStatesSwithMultiStates_withoutMultiState inflateState inflateReader$fMonadBaseControlbMultiStateT$fMonadTransControlMultiStateT$fMonadBasebMultiStateT$fMonadPlusMultiStateT$fAlternativeMultiStateT$fMonadIOMultiStateT$fMonadWriterwMultiStateT$fMonadStatesMultiStateT$fMonadFixMultiStateT$fMonadMultiStateaMultiStateT$fMonadMultiGetaMultiStateT$fMonadTransMultiStateT$fMonadMultiStateT$fApplicativeMultiStateT$fFunctorMultiStateT MultiReaderMultiReaderTNull MultiReaderTrunMultiReaderTRawmapMultiReaderTrunMultiReaderTrunMultiReaderT_runMultiReaderTNilrunMultiReaderTNil_withMultiReaderwithMultiReader_withMultiReaderswithMultiReaders_withoutMultiReader$fMonadBaseControlbMultiReaderT$fMonadTransControlMultiReaderT$fMonadBasebMultiReaderT$fMonadPlusMultiReaderT$fAlternativeMultiReaderT$fMonadIOMultiReaderT$fMonadWriterwMultiReaderT$fMonadStatesMultiReaderT$fMonadFixMultiReaderT$fMonadMultiGetaMultiReaderT$fMonadMultiReaderaMultiReaderT$fMonadTransMultiReaderT$fMonadMultiReaderT$fApplicativeMultiReaderT$fFunctorMultiReaderTMultiRWS MultiRWSTNull MultiRWSTrunMultiRWSTRaw runMultiRWSTrunMultiRWSTASW runMultiRWSTWrunMultiRWSTAWrunMultiRWSTSWrunMultiRWSTNilrunMultiRWSTNil_inflateMultiReaderinflateMultiWriterinflateMultiStatemGetRawRmPutRawRmGetRawWmPutRawWmGetRawSmPutRawS mapMultiRWST$fMonadBaseControlbMultiRWST$fMonadTransControlMultiRWST$fMonadBasebMultiRWST$fMonadPlusMultiRWST$fAlternativeMultiRWST$fMonadIOMultiRWST$fMonadFixMultiRWST$fMonadMultiStateaMultiRWST$fMonadMultiGetaMultiRWST$fMonadMultiWriteraMultiRWST$fMonadMultiReaderaMultiRWST$fMonadTransMultiRWST$fMonadMultiRWST$fApplicativeMultiRWST$fFunctorMultiRWSTContainsWriter ContainsStateContainsReader CanReadWriteGettableSettableTellableMultiGST MultiGSTTNull MultiGSTTrunMultiGSTTRawrunMultiGSTTNilrunMultiGSTTNil_ withReader withReader_ withWriter withWriterAW withWriterWA withWriterW withState withStateAS withStateSA withStateA withStateS withState_withoutmSetRaw mapMultiGSTT$fMonadMultiWriteraMultiGSTT$fMonadMultiStateaMultiGSTT$fMonadMultiGetaMultiGSTT$fFunctorMultiGSTT$fApplicativeMultiGSTT$fMonadMultiGSTT$fMonadTransMultiGSTT withReaders$fMonadIOMultiGSTT$fAlternativeMultiGSTT$fMonadPlusMultiGSTTtransformers-0.5.5.0!Control.Monad.Trans.Writer.StrictWriterTControl.Monad.Trans.Writer.Lazy Control.Monad.Trans.State.StrictStateTControl.Monad.Trans.State.LazyControl.Monad.Trans.ReaderReaderTHListMGettableClassHListMGettableOnlyhListMGettableOnlyAppendMReaders HListMReadersAppendMHListM:+-::++::-+:HNilMCanWriteConstraintHListMContainsreadHListMElemwriteHListMElemHListMContainsImplicationCanReadWriteFlag GettableFlag SettableFlag TellableFlag