OCamlやScalaにもあるけど、サンプルコードを見る限りコレジャナイ感が凄い。
そう考えると伝統的なマクロは本当に手頃で実用的。

hygienic macro? syntax-caseにするのかsyntactic closuresにするのかexplicit renamingにするのか、
一定のコンセンサス得てから出直して来てください。