Hello Ariel, Friday, March 28, 2008, 1:02:39 AM, you wrote: class (Monad m) =>> MonadMemory m r | m -> r where there are more than one way to define such class. look at http://haskell.org/haskellwiki/Library/ArrayRef for examples -- Best regards, Bulat mailto:Bulat.Ziganshin at gmail.com