I don't see the point in implementing arity checking yourself, just explicitly state the require parameters. This approach has no net benefits I can see.