[racket] letoverlambda
In particular, something many people miss -- because of the way
hygiene is presented -- is that a hygienic macro system must have a
deep understanding of the underlying language, at least up to the
level of the binding structure of its constructs. That is how it can
even be sure what is a binding, where it is bound, and thus what can
be painted/renamed/closed over/tweaked/whatever.
Once you understand that, you realize that it is simply not meaningful
to say that a *macro* is "hygienic" -- that phrase is not even wrong.
Shriram