worth mentioning the attr library in this context, which is I think the most popular implementation and inspiration for dataclasses (I think I read the reason it's not in core is to allow it to move faster). My interpretation of dataclasses in the stlib was to put a seal of approval on attr.