These comparison classes abuse the inheritance mechanisms which don't play nice with attrs
dataclasses. Specifically, the children classes define attributes with init=False
so if you dump all the attrs.fields
and try to re-create the object, it fails.