> Btw: This has already been done, in GHC: see the ST module in GHC's > library > <http://www.haskell.org/ghc/docs/latest/html/base/Control.Monad.ST.html>. This list is great. The implementation in the ST module solves the problem and I understand how it works. Shawn -- You're in a maze of twisty little statements, all alike. Public Key available from http://www.garbett.org/public-key