Support for safely freezing multiple arrays in the ST
monad. Developed in
http://haskell.reinerpope.com/2009/09/making-runstarray-more-flexible-or.html.
The new monad is defined in Control.Monad.ST.Freeze. An example
of its use is given in Data.Vector.Generic.Mutable.STFreeze. The
module Data.STRef.Freeze is a reexports of Data.STRef but lifted
to the new ST monad.