> Ratio defines > data (Integral a) => Ratio a = !a :% !a > which GHC seems to implement as specified, but nhc and hugs seem to use > data (Integral a) => Ratio a = a :% a > Does this not have different strictness properties? It does. In nhc98's case, this is simply an oversight - i.e. a bug. Regards, Malcolm