Strict -template-haskell +base
Mutable references in the (strict) ST monad (re-export of Data.STRef)
Convert a strict ST computation into a lazy one. The strict state thread passed to strictToLazyST is not performed until the result of the lazy state thread it returns is demanded.
Convert a lazy ST computation into a strict one.