The program below produces this error message (with -98 in the February 2001 version): ERROR Bug.hs:5 - Instance of Num Int required for definition of f Pardon? data T class C a b | b->a where m :: a -> (Bool, b) instance C Int T instance C a b => C [a] [b] f () = located :: [T] where (_,located) = m [0]