Modern Python supports _type hinting_, which allows the language to be made less dynamic and less powerful by declaring types, and _faux_ circular dependencies to be introduced, all without providing any run-time type checking or performance increases.
Comments
Well, you don't (because it's not checked at runtime). But mypy or whatever will complain. And if you decide you want it, now you have to change all your type hints. And it's all just...silly.
A dynamic language's superpower is it is ... dynamic.
This blogpost by friend Terry Jones, kind-of explains it.
https://terry.fluidinfo.com/2008/06/08/python-looks-great-stays-wet-longer/
It's that without type hints you write functions that depend on what the object can do/its properties (duck typing).
By specifying, x must be an int (or whatever) you...