[Haskell-cafe] model theory for type classes