I'm trying to understand what are the benefits of the fact that python defaults to not checking function arguments.
For example:
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)?