[Haskell-cafe] type classes and logic