[Haskell-cafe] Rank-2 polymorphism and overloading