[Haskell-cafe] Why doesn't GHC derive these types