    -- | The multi-valued version of mtl's State / StateT
    -- / MonadState
    module Control.Monad.Trans.MultiState
      (
      -- * MultiStateT
        MultiStateT(..)
      , MultiStateTNull
      , MultiState
      -- * MonadMultiState class
      , MonadMultiGet(..)
      , MonadMultiState(..)
      -- * run-functions
      , runMultiStateT
      , runMultiStateTAS
      , runMultiStateTSA
      , runMultiStateTA
      , runMultiStateTS
      , runMultiStateT_
      , runMultiStateTNil
      , runMultiStateTNil_
      -- * with-functions (single state)
      , withMultiState
      , withMultiStateAS
      , withMultiStateSA
      , withMultiStateA
      , withMultiStateS
      , withMultiState_
      -- * with-functions (multiple states)
      , withMultiStates
      , withMultiStatesAS
      , withMultiStatesSA
      , withMultiStatesA
      , withMultiStatesS
      , withMultiStates_
      -- * without-function (single state)
      , withoutMultiState
      -- * inflate-functions (run single state in multiple states)
      , inflateState
      , inflateReader
      , inflateWriter
      -- * other functions
      , mapMultiStateT
      , mGetRaw
      , mPutRaw
    ) where

    -- just re-export
    import Control.Monad.Trans.MultiState.Lazy