Crystal AOT compilation and JSON::Serializable macro: generic union type resolution across compilation units
Integration boundary Crystal's ahead-of-time compiler performs whole-program type inference while the JSON::Serializable macro expands at compile time to generate serialization code. When a generic type contains a union of concrete types that are only fully resolved after macro expansion in a separate compilation unit, the interaction between these two compi