Ross Paterson <ross@soi.city.ac.uk> writes: > The definition of fixIO used by Nhc (in System.IO), namely > fixIO f = let x = unsafePerformIO (f x) in return x > produces the wrong results. I suggest: > fixIO f = IO (\w -> let { IO f' = f a; r = f' w; Right a = r } in r) Thanks for the bug report and the fix, now committed. Regards, Malcolm