Oh man I couldn't disagree more. Having used Nim's hygienic templates, I strongly believe the escape hatch should be the other way round. Hygienic by default, tag individual identifiers as being 'dirty' to inject them as is into the surrounding scope.
Edit: actually, I realize I don't know whether you meant 'macro' in the C sense or the Lisp sense. I was thinking C
Edit: actually, I realize I don't know whether you meant 'macro' in the C sense or the Lisp sense. I was thinking C