>255
マクロはevalでマクロ呼び出し自体のコードに対してquoteしたものを
渡すだけでいい。マクロ定義自体は入出力がリストのただの関数。
macroさえ実装すれば、
define-macro -> define/let/letrec-syntax(syntax-rule/case)
とSchemeコード側で拡張できる。

同じマクロを毎回実行時に展開するのは無駄。
マクロキャッシュを実装もしないと遅い。これは組み込んだ方が良い。