I started googling around and I found the following: https://www.python.org/dev/peps/pep-0591/
It looks like mypy can actually understand the hint: https://mypy.readthedocs.io/en/stable/final_attrs.html
It sucks that this would require such a substantial effort throughout a codebase, though. I guess that’s just the inherent cost of typed python.