Too Long; Didn't Read
SonarCloud has a type inference engine, which enables it to detect advanced type errors. It uses every bit of information it can find to deduce variable type, including Typeshed stubs, assignments, and your type annotations. It won't complain if you don't use type annotations, and it's designed to avoid False Positives. It can detect buggy references to undefined variables when the variables are defined in another place. SonarQube, SonarLint and Sonarcloud are such tools.