My package Convertible.jl currently uses generated functions to enable multi-step type conversions at runtime. The problem is that I achieved this by calling
methods within the generated function body, i.e. I am observing mutable global state which is considered harmful.
I am now in the process of rewriting the package and want to shift the generation of the missing intermediate
convert methods to compile-time by using a macro. The question is now whether this actually solves the problem? Can macros safely observe method tables?