Yeah, that's the idea, Dave, but this will be used for fringe cases (values with negative numbers, values as lists etc.), and from what I understand, the args breaks with at least the negative numbers.. If I assume named parameter pairs have exactly 2 ordered positions, then 40 named parameter pairs (without complexity of dashes) can be defined:
ad_proc -public qf_test {
{arg1 ""}
{arg2 ""}
...
{arg15 ""}
{arg80 ""}
} { ...
This works regardless of value types (except delineating the special case of empty string versus no value), although it is a bit bulky/clunky. If only there is a shorthand for that..