Я один раз тоже чуть не уехал, когда в макросе от typed аргумента приходил не тот AST, из-за другого аргумента. Казалось бы, какая разница какой тип у другого аргумента.
И или у меня уже чуйка, или везёт, или я прислушался к совету Араки "просто подумай", но делаю изменения в нужном куске кода, будто озарение свыше, причем логически эти изменения ничего не должны были поменять, но компилятор нима это не про логику, и все работает.
Пруфов не будет.