!"#$%&'()*+,-./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%&,9:;<=?DOQRT   5Safe%&,9;<=?DQRSafe%&,9;<=?DQRSafe%&,9:;<=?DOQRT2A MultiWriter transformer carrying an empty state.,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].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.% !"#$%&'()*+,-./0123456789:;< !"#$%&'()*+,-. !"#$%&'()*+,-.# !"#$%&'()*+,-./0123456789:;<Safe%&,9:;<=?DOQRT>2A MultiWriter transformer carrying an empty state.?,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].BAA raw extractor of the contained HList (i.e. the complete state).DSMap both the return value and the state of a computation using the given function.%=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a=>?@ABCDEFGHIJKLMNOPQRS?@A>=EFGHIJKLMNOPQRSDBC#=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`aSafe%&,9:;<=?DQR !"#$%&'()*+,- !"#$%&'()*+,-Safe%&,9;<=?DQRbAll 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.c&state set function for values of type a.d&state get function for values of type a.bcdebcdbcdbcdeSafe%&,9;<=?DQRfIA state monad parameterized by the list of types x of the state to carry. Similar to State s = StateT s Identityg1A MultiState transformer carrying an empty state.h+A State transformer monad patameterized by:-x - The list of types constituting the state,m - The inner monad.h 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].kAA raw extractor of the contained HList (i.e. the complete state).mSMap both the return value and the state of a computation using the given function..fghijklmnopqrstuvwxyz{|}~#bcdfghijklmnopqrstuvwxyz{|}~#hijgfbcdnopqrstuvwxyz{|}~mkl,fghijklmnopqrstuvwxyz{|}~Safe%&,9;<=?DQRIA 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..#bcd#bcd,Safe%&,9;<=?DQR#bcdfghijklmnopqrstuvwxyz{|}~#hijgfbcdnopqrstuvwxyz{|}~mkl Safe%&,9;<=?DQRAll 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. Safe%&,9;<=?DQRYA reader monad parameterized by the list of types x of the environment / input to carry. Similar to Reader r = ReaderT r Identity2A 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.  Safe%&,9;<=?DQRYA reader monad parameterized by the list of types x of the environment / input to carry. Similar to Reader r = ReaderT r Identity2A 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. Safe%&,9;<=?DQR Safe%&,9:;<=?DOQRTA      !"#$%&'()*+,-./0123456789:;<=>?@ABCDE:bcd      !"#$%&'()*+,-./01234567: bcd     !"#$%&'()*+,-./07135246?      !"#$%&'()*+,-./0123456789:;<=>?@ABCDE Safe%&,9:;<=?DOQRTAFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~:bcdFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwx:HIJGFbcdKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqxrtvsuw?FGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Safe%&,9;<=?DQR:bcdFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwx:HIJGFbcdKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqxrtvsuwSafe%&,9:;<=?DQR !"#$%&'()*+,-. !"#$%&'()*+,-.Safe%&,9;<=?DQR"bcdfghijklmnopqrstuvwxyz{|}~"hijgfbcdnopqrstuvwxyz{|}~mklSafe%&,9;<=?DQR !"#$%&'()*+,-.//0123456789:;<=>?@ABCDEFGHIJKLMNOP-.//0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWWX12YZ[\]^_`abcdefghijklmnopBqrstuvwxyz{|}~UVWWX12YZ[\]^_`abcdefghijklmnopBqrstuvwxyz{|}~      1 2 p     1 2 p     : ; < = > ? @ A b c d e f g h i j k l m n p B o     : ; < = > ? @ A b c d e f g h i j k l m n p B o )multistate-0.7.1.2-EujJl3uritMG8wjwO2SFcIData.HList.HListData.HList.ContainsType%Control.Monad.Trans.MultiWriter.Class$Control.Monad.Trans.MultiWriter.Lazy&Control.Monad.Trans.MultiWriter.Strict$Control.Monad.Trans.MultiState.Class#Control.Monad.Trans.MultiState.Lazy%Control.Monad.Trans.MultiState.Strict%Control.Monad.Trans.MultiReader.Class$Control.Monad.Trans.MultiReader.Lazy&Control.Monad.Trans.MultiReader.Strict#Control.Monad.Trans.MultiRWS.Strict!Control.Monad.Trans.MultiRWS.LazyControl.Monad.Trans.MultiWriterControl.Monad.Trans.MultiStateControl.Monad.Trans.MultiReaderControl.Monad.Trans.MultiRWSControl.Monad.MultiWriterControl.Monad.MultiStateControl.Monad.MultiReaderHInithInithSplitAppendHListHNil:+:hAppend$fHInit: $fHInit[] $fEqHList $fEqHList0 $fMonoidHList$fMonoidHList0 $fShowHList $fShowHList0 ContainsType setHListElem getHListElem$fContainsTypea:$fContainsTypea:0MonadMultiWritermTell$fMonadMultiWriterat MultiWriterMultiWriterTNull MultiWriterTrunMultiWriterTRawmGetRawmPutRawmapMultiWriterTrunMultiWriterTrunMultiWriterTAWrunMultiWriterTWArunMultiWriterTWrunMultiWriterTNilrunMultiWriterTNil_withMultiWriterwithMultiWriterAWwithMultiWriterWAwithMultiWriterWwithMultiWriterswithMultiWritersAWwithMultiWritersWAwithMultiWritersW inflateWriter$fMonadBaseControlbMultiWriterT$fMonadTransControlMultiWriterT$fMonadBasebMultiWriterT$fMonadPlusMultiWriterT$fAlternativeMultiWriterT$fMonadIOMultiWriterT$fMonadWriterwMultiWriterT$fMonadStatesMultiWriterT$fMonadFixMultiWriterT$fMonadMultiWriteraMultiWriterT$fMonadTransMultiWriterT$fMonadMultiWriterT$fApplicativeMultiWriterT$fFunctorMultiWriterTMonadMultiStatemSetmGet$fMonadMultiStateat MultiStateMultiStateTNull MultiStateTrunMultiStateTRawmapMultiStateTrunMultiStateTrunMultiStateTASrunMultiStateTSArunMultiStateTArunMultiStateTSrunMultiStateT_runMultiStateTNilrunMultiStateTNil_withMultiStatewithMultiStateASwithMultiStateSAwithMultiStateAwithMultiStateSwithMultiState_withMultiStateswithMultiStatesASwithMultiStatesSAwithMultiStatesAwithMultiStatesSwithMultiStates_withoutMultiState inflateState inflateReader$fMonadBaseControlbMultiStateT$fMonadTransControlMultiStateT$fMonadBasebMultiStateT$fMonadPlusMultiStateT$fAlternativeMultiStateT$fMonadIOMultiStateT$fMonadWriterwMultiStateT$fMonadStatesMultiStateT$fMonadFixMultiStateT$fMonadMultiStateaMultiStateT$fMonadTransMultiStateT$fMonadMultiStateT$fApplicativeMultiStateT$fFunctorMultiStateTMonadMultiReadermAsk$fMonadMultiReaderat MultiReaderMultiReaderTNull MultiReaderTrunMultiReaderTRawmapMultiReaderTrunMultiReaderTrunMultiReaderT_runMultiReaderTNilrunMultiReaderTNil_withMultiReaderwithMultiReader_withMultiReaderswithMultiReaders_withoutMultiReader$fMonadBaseControlbMultiReaderT$fMonadTransControlMultiReaderT$fMonadBasebMultiReaderT$fMonadPlusMultiReaderT$fAlternativeMultiReaderT$fMonadIOMultiReaderT$fMonadWriterwMultiReaderT$fMonadStatesMultiReaderT$fMonadFixMultiReaderT$fMonadMultiReaderaMultiReaderT$fMonadTransMultiReaderT$fMonadMultiReaderT$fApplicativeMultiReaderT$fFunctorMultiReaderTMultiRWS MultiRWSTNull MultiRWSTrunMultiRWSTRaw runMultiRWSTrunMultiRWSTASW runMultiRWSTWrunMultiRWSTAWrunMultiRWSTSWrunMultiRWSTNilrunMultiRWSTNil_inflateMultiReaderinflateMultiWriterinflateMultiStatemGetRawRmPutRawRmGetRawWmPutRawWmGetRawSmPutRawS mapMultiRWST$fMonadBaseControlbMultiRWST$fMonadTransControlMultiRWST$fMonadBasebMultiRWST$fMonadPlusMultiRWST$fAlternativeMultiRWST$fMonadIOMultiRWST$fMonadFixMultiRWST$fMonadMultiStateaMultiRWST$fMonadMultiWriteraMultiRWST$fMonadMultiReaderaMultiRWST$fMonadTransMultiRWST$fMonadMultiRWST$fApplicativeMultiRWST$fFunctorMultiRWSTtransformers-0.5.2.0Control.Monad.Trans.Writer.LazyWriterT!Control.Monad.Trans.Writer.StrictControl.Monad.Trans.State.LazyStateT Control.Monad.Trans.State.StrictControl.Monad.Trans.ReaderReaderT