Elixir macros are hygienic, so you need to be more explicit if you want to override variables as above. You also need to require macros before using them, but once you do you can kick all the puppies!
There is also a guide on meta-programming anti patterns: https://hexdocs.pm/elixir/macro-anti-patterns.html (and unnecessary use is one of them).