We’ve unlocked Elixir’s metaprogramming secrets. We went from the basics all the way to writing our own languages features. Along the way, you gained insight into Elixir’s internals, and if you’re like me, you found a new found appreciation for the language’s syntax and idioms. Without curbing your excitement, we’re going to review some tips and tricks for getting the most out of Elixir’s macro system and how you can avoid common pitfalls. Staying on the happy path of metaprogramming will let you write extensible code that is easy to write and maintain.