I'm not sure I understand the desired functionality. The arguments after the rest argument should be like auxiliary arguments in CL (or whatever they are called) -- basically variable declarations? Ah, I looked it up -- &aux in the CL lambda list -- I never used those!