[Haskell-cafe] lifting restrictions on defining instances