dataclasses can do validation too and are faster

Dataclasses can skip validation, hence they are faster, when you can trust the inputs.