Elixir Macros Demystified: defmacro and require