FWIW, I've been using this in a context where I needed "arbitrary" argument
lists and it works. It has the advantage that the caller only needs to know
about label and size, the eventual callee only needs to know about the
arguments it recognizes and can ignore the rest, and the intermediate layers
can pass everything downstream as-is without knowing about anything.