(newbie at macros) I see `Expr` has a field named `expr` that is an `ExprDef` which in turn has an `expr:Expr`, and I frequently stumble upon it by incorrectly assuming to work with an `Expr` vs `ExprDef`.
I'm able to correct my code after compiling once (after a bit of reasoning about hints by the compiler), but find it a bit annoying.
My question is: why isn't it named `exprDef`? Is it to enable easier recursion?