data Quality
= Major
| Minor
| Perfect
| Augment Quality
| Diminish Quality
Easier to define normalization.
Prohibits semantic bugs such as the Augmentable Quality instance (bad because it allows augment (Diminished 1): should be replaced by an internal function whenever it is used internally).
Augmentable Quality
instance (bad because it allowsaugment (Diminished 1)
: should be replaced by an internal function whenever it is used internally).