Round out abstract syntax definition
More thinking on the abstract syntax