[Haskell-cafe] generalized newtype deriving breaks type class invariants. that is bad.