changed internal `get_arguments` to `__getargs__` and pass function name as first arg,
so that the function name can be printed when there is an error calling the function with the wrong args signature.