raise if too many arguments are supplied.

ArgumentErrorInfo domain object extracts argument information
from the error message. So hacky, but error messages like
"wrong number of arguments (3 for 0..2)" have way more
information about arity in them than Proc#arity (as far as I
can tell)