The JSNode is the building block of the AST.
Each has a syntactic part Node. In addition, the leaf elements
(terminals) have a position TokenPosn, as well as an array of comments
and/or whitespace that was collected while parsing.