Thoughts
The problem with a complex language like Julia giving you code-generation macro support is that it's not clear when to use it.
Lisp, you have to use macros for anything that isn't a function. Julia, you have to decide, am I going to create a subclass and a custom method, or am I going to create a macro.