Split invoker to invoker and invokerN

- Eliminate optional argument.
- Remove unnecessary check for `arguments.length`.
- Add unit tests.
:+1:

This is an improvement all around.  Do you want to submit a PR?