If we are going to keep sub-arity, I'd prefer if this new function called it, instead of copying its code inline.
Also, I believe you said you'd write the documentation? Could you please add that? Then the patch will be ready to go in, I think.