A very small suggestion for the Haskell prelude style: if a type has no meaning except being a holder for the values of the function foo, then let the type be called Foo. This will economize names. Thus the type of `compare' from 1.3 prelude should be called Compare, etc. Sergey Mechveliani [EMAIL PROTECTED]