The CPython interpreter does not check arguments type when functions are called. However a function can express the type it expects for each argument in its documentation or by using https://www.python.org/dev/peps/pep-0484/[Type Hints]. Calling such a function with an argument of a different type can easily create a bug. Even if it works right now it can fail later when APIs evolve or when type checks are added (ex: with ``++isinstance++``).
This rule raises an issue when a function or method is called with an argument of a different type than the one described in its type annotations. It also checks argument types for builtin functions.