[Haskell-cafe] Context in data and class declarations (was haskell programming guidelines)