{-# LANGUAGE Safe #-}
module Data.STRef.Lazy (
        
        ST.STRef,       
        newSTRef,
        readSTRef,
        writeSTRef,
        modifySTRef
 ) where
import Control.Monad.ST.Lazy
import qualified Data.STRef as ST
newSTRef    :: a -> ST s (ST.STRef s a)
readSTRef   :: ST.STRef s a -> ST s a
writeSTRef  :: ST.STRef s a -> a -> ST s ()
modifySTRef :: ST.STRef s a -> (a -> a) -> ST s ()
newSTRef        = strictToLazyST . ST.newSTRef
readSTRef       = strictToLazyST . ST.readSTRef
writeSTRef  r a = strictToLazyST (ST.writeSTRef r a)
modifySTRef r f = strictToLazyST (ST.modifySTRef r f)