the root of the AST tree is itself an element (node); no special object required
store argument initialization attributes in Arg object
test edge cases