I would say that there are quite some ways to describe somthing with an AST in nim. And for writing macros it can be kind of hard to deal with all those variations. For example I just assume that there is always a RecList in the OfBranch. I write my code that iterates over node that I just assumed to be a RecList, but it isn't. Then something goes wrong and I realize that my assumption that I did by testing with dumpTree was not correct, and I have to write extra code to deal with those special cases. The workflow here is not perfect, because it can be hard to predict all the variations of the AST.
This will not be a complaint though, because I honestly do not know how to make it better, it just teaches me to be careful and not use macros when it is not really suitable to do so.
