Though I'm abusing enumerations, I'm surprised that a and b give different answers (in Hugs 1.4 on Linux). Is that intended? default (Integer,Rational) a = take 3 [1/1,3/2 .. 2/1] -- [1%1,3%2,2%1] b = take 3 [1/1,3/2 ..] -- [1%1,1%1,1%1] Doug McIlroy