超個人的メモ。
syntax-rules は define-macro と違って、template 部を execute しない。むしろ C の macro みたいに source の字面を操作する感覚に近い。Template 内での自由変数は macro の定義箇所の context で解決され、pattern の placeholder に選んだ識別子は quote しようが何しようが置き換えられる。Template 内で束縛された識別子は隠される。それだけだと置換後にも verbatim で残る識別子を template 内に書くことができない (else とか => とか) ので、syntax-rules form の始めの で、置換・自由変数解決の対象から除く識別子を指定することができる。