[Haskell-cafe] Named function fields vs. type classes