[Haskell-cafe] Why can't GHC infer record fields?