> look at http://haskell.org/haskellwiki/Library/ArrayRef for examples Thanks, Data.Ref.Universal looks just like it! One question though. In: class (Monad m) => Ref m r | m->r, r->m where Why is the second fundep necessary? -- Ariel J. Birnbaum