    {-# LANGUAGE Safe #-}

    -- |
    --
    -- Module      :  Control.Monad.ST.Lazy
    -- Copyright   :  (c) The University of Glasgow 2001
    -- License     :  BSD-style (see the file libraries/base/LICENSE)
    --
    -- Maintainer  :  libraries@haskell.org
    -- Stability   :  provisional
    -- Portability :  non-portable (requires universal quantification for runST)
    --
    -- This module presents an identical interface to "Control.Monad.ST",
    -- except that the monad delays evaluation of state operations until
    -- a value depending on them is required.
    --

    module Control.Monad.ST.Lazy
        (-- *  The 'ST' monad
         ST,
         runST,
         fixST,
         -- *  Converting between strict and lazy 'ST'
         strictToLazyST,
         lazyToStrictST,
         -- *  Converting 'ST' To 'IO'
         RealWorld,
         stToIO
         ) where

    import GHC.Internal.Control.Monad.ST.Lazy