why doesnt upper classes put their own call to `__init__` in `__new__` and in `__init_subclass__` put so that if `__new__` is overwritten, then overwrite `__new__` back calling your `__new__` first and then the user's `__new__` (you're never sure when people are calling your methods or not)
Because that's not how any language do it. Also new doesn't get any arguments to initialise anything, so it's literally impossible to do it your way