Changing types
Even without any additional work, running mypy on an existing code-base can reveal locations that might need fixing.
For example it can point out places where the content of a variable changes type. Python accepts this, and in some places this type of flexibility might have advantages, but it can also lead to confusion for the maintainer of this code.
x = 23
print(x)
x = "Python"
print(x)
x = ["a", "b"]
print(x)
python simple.py
works without complaining.
mypy simple.py
reports the following:
simple.py:5: error: Incompatible types in assignment (expression has type "str", variable has type "int")
simple.py:8: error: Incompatible types in assignment (expression has type "List[str]", variable has type "int")
Found 2 errors in 1 file (checked 1 source file)