content: -- | Classes and concrete implementations for mutable data structures.
  --
  -- For more information on the design of this library, see the README file,
  -- also available at <http://www.stackage.org/package/mutable-containers>.
  module Data.Mutable
      ( -- * Data types
        -- ** Single-cell mutable references
        PRef
      , IOPRef
      , asPRef
      , URef
      , IOURef
      , asURef
      , SRef
      , IOSRef
      , asSRef
      , BRef
      , IOBRef
      , asBRef
        -- *** Standard re-exports
      , IORef
      , asIORef
      , STRef
      , asSTRef
      , MutVar
      , asMutVar
        -- ** Collections/queues
      , Deque
      , UDeque
      , asUDeque
      , SDeque
      , asSDeque
      , BDeque
      , asBDeque
      , DLList
      , asDLList
        -- * Type classes
      , MutableContainer (..)
      , MutableRef (..)
      , MutableAtomicRef (..)
      , MutableCollection (..)
      , MutablePushFront (..)
      , MutablePushBack (..)
      , MutablePopFront (..)
      , MutablePopBack (..)
        -- * Constraint kinds
      , MutableQueue
      , MutableStack
      , MutableDeque
        -- * Convenience re-exports
      , PrimMonad
      , PrimState
      , RealWorld
      , Prim
      , Unbox
      , Storable
      ) where
  
  import Data.Mutable.Class
  import Data.Mutable.URef
  import Data.Mutable.SRef
  import Data.Mutable.PRef
  import Data.Mutable.BRef
  import Data.Mutable.Deque
  import Data.Mutable.DLList
  import Data.Vector.Unboxed (Unbox)
  import Data.Primitive (Prim)
  import Data.Vector.Storable (Storable)
  