Do you think it would be more uniform to have for macros, records and variables fields named "name" instead of "macro", "record" and "variable"?
Same for type: "name" instead of "type"; and field_def too.

It's not extremely important, but it feels nicer.

And I also want to see how github reviews work :smile: