Need to be able to do tree rewrites.
Turn off set token boundaries and add create(AST node) which is dup. Return incoming tree if none set.
during AST->AST, what does
e : expr -> expr expr ;
do? Should dup at least one expr, right?