Macro does not like module attribute?

If you look at my lib code, you’ll see that in its first version (0.1.0) it simply relied on the vanilla macros to expand the def assign_* and friends. The problem with that approach was that it could only take a list of atoms and not a module attribute (to which a list of atoms is assigned) because the module attribute was not resolvable at the time of the macro expansion. The __before_compile__/1 approach that was suggested by @kip solved this (as shown in the version 0.2.0) because at the time it expands it can resolve the module attributes, hence the necessary refactoring.