non-trivial variadic arguments

Here's a patch to implement my proposal on the ABI list.  And also a patch I never submitted to avoid using "subclass" in the ABI document.