pull out curry arg counting to _num_required_args