Hi and welcome, if I understand correctly your issue, `app` macro, which is called once, generates code that then `record` (called multiple times) is trying to modify from a different module.
I have a similar macro with interfaces, that has the same problem. Haven't fixed it yet, but my idea is the `record` macro will return `appAst` on the first time its called (use a compile time bool for that). But in my case `record` doesn't modify `appAst`, your problem is harder.
