HUGS> :t (== []) flip (==) [] :: Eq a => [a] -> Bool GHCI> :t (== []) forall a. (Eq [a]) => [a] -> Bool I think ghc is doing the right thing. -Levent.