Когда вы вызываете функцию python, она проверяет аргументы и вызывает TypeError
s, если вы передаете что-то, что не соответствует сигнатуре функции:
A takes from X to Y positional arguments but Z were given
got multiple values for argument X
got an unexpected keyword argument
и т.д.
Я хочу увидеть код, который выполняет эти проверки, чтобы лучше понять, как и когда Python выполняет их.