Hi List, Given the syntax of first class module is improved a lot. I try to encode Monad and MonadState, http://ideone.com/HgG4M Unfortunately I found it's still impossible to share the code between differrent Monad Instances. Is it theoretically impossible or I missed something? Many thanks -- -- Bob