[Haskell-cafe] Why do I need UndecidableInstances?