<div dir="ltr"><div>Ha!  The below solution is a macro-making macro that re-syntaxifies "params ..." to "belong to" the inner macro:</div><div><br></div><div>(define-syntax-rule (make-commands name params ...)<br>
  (define-syntax (name inner-stx)<br>    (syntax-case inner-stx ()<br>      [(_ (c f) (... ...))<br>       (with-syntax ([(ps (... ...)) (datum->syntax inner-stx (syntax->datum #'(params ...)))])<br>         #'(list (cons (symbol->string 'c)<br>
                       (ë (ps (... ...)) f))<br>                 (... ...)))])))</div><div class="gmail_extra"><br></div><div class="gmail_extra">I'm not sure if this is the canonical solution, but nevertheless I think it's pretty awesome that this is possible and seems to work.</div>
</div>