Currently Hugs except the following piece of code but GHC does not: mcompare x y = do i <- x ==~ y if i then return EQ else do i <- x <=~ y if i then return LT else do return GT However both except: mcompare x y = do i <- x ==~ y if i then return EQ else do i <- x <=~ y if i then return LT else do return GT which is a bit uglier. Is ghc correct in rejecting the original code segment? Is this a bug in ghc or the Haskell 98 report? I prefer hugs behavior over ghc. -- Kevin Atkinson [EMAIL PROTECTED] http://metalab.unc.edu/kevina/