multistate (hackage): When using multiple Read/Write/State transformers in the same monad stack, it becomes necessary to lift the operations in order to affect a specific transformer. Using heterogeneous lists (and all kinds of GHC extensions magic), this package provides transformers that remove that necessity: MultiReaderT/MultiWriterT/MultiStateT/MultiRWST can contain a heterogeneous list of values.  See the README for a longer description.
Keywords: bsd3|control|library