Earlier quoted context omitted.
> Yes, they lack teeth. But what’s the alternative? In what way do they lack more teeth than Java with Object, Go with interface{}, C++/C with void*?
Idiomatic C and Go programs aren't labeling everything with those types, and the language implementation enforces those types at compile time. Since types are optional in Python, it's necessarily true that an "Any"-like type is prioritized since it's the default. Moreover, cpython doesn't check anything when it bytecode-compiles. Any-by-default and no-built-in-checking feels pretty defanged to me.
mypy is pretty whiny about types, and sure, if you add Any everywhere then you have just defeated the type checker, but this is no different from putting interface{} everywhere for Go.
> Any-by-default and no-built-in-checking feels pretty defanged to me.
Is running mypy on the code base that much to ask?