- Switched from attrs to dataclass.
- Dropped support for Pythons earlier than 3.7.
- Reworked the API to prioritize convenience: `cons()` and `enumcons()` offer
default behavior as easily as possible; and `constants()` allows the user to
control the name of the underlying dataclass (a required parameter in v1) or
to supply a callable to compute each value from its name (similar behavior
was in v1).