write your own `__init__` method then, as you would anyway. Dataclass' default init is way better than that of `object`.
> advanced field defaults
same
> no equality
set eq=False, all dataclass methods are optional
> custom repr/str
write __repr__ and __str__ methods, same as init, dataclass' default is much nicer than that of `object`
> advanced inheritance
What's the issue with inheritance? what's "advanced" inheritance, you mean mixins?
> etc dataclasses give you nothing but a bunch of magic to turn off or work around.
Python `object` has all kinds of default behaviors too, which are just worse. default behaviors aren't "magic". dataclasses currently manufactures its methods at runtime, so that's maybe "magic", but all of that could be built into Python, then it would just be, "default behavior".