Data.Array.ST has runSTArray :: Ix i => (forall s . ST s (STArray s i e)) -> Array i e
I think if you can implement that, then all your problems will be solved. -- Ben _______________________________________________ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell