[Haskell-cafe] Explaining instance declarations