Granted macros are a two edged sword complexity-wise, this implementation is no exception. I think this is generally true for macros in other languages though.
Scala's "self cleaning" reify/eval mechanism is practically free syntax-wise - even Lisp has special characters for quasiquoting and splicing.