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 _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/users