それと、symbol-macro-letについて疑問があります。
この特殊フォームの機能を成立させるには、正確にシンボルを置き換えるために
bodyで生成されるかもしれないフレームの変数について全て知っていないと
いけないはずで、そのためにはマクロで書かれた未知の構文に対応するために、
bodyのシーケンスに対してmacroexpandしていかなくてはいけない、
延いてはその処理系の変数生成フォームのパターンを全て把握している必要がある、
ということだと思うのですが、
やはりそういう複雑なことをやっているのでしょうか?