Added function calls type checking and whether you provide too many arguments to the function.