I'm trying to understand what are the benefits of the fact that python defaults to not checking function arguments.
from some_module import my_function my_function(some_argument) # some_argument could be a very complicated data structure # made of dictionaries and lists. # I have to depend on the good will of the developer of my_function # to get reasonable error logs/exceptions. # If the type checks were completed for function arguments on the level of the language # it would be much clearer that the function is failing because of the wrong structure of the argument
The above is an attempt to reason why it would be a positive if type checking for arguments existed as a core functionality of the language.
What are the positive sides of the current status quo (no argument type checks)?