[Haskell-cafe] SYB: extending a generic reader with a type class