OptionaldefaultIndicates that the property's value is mandatory in the AST node when present.
For example, if an AST node contains an array, but no elements of this array have been parsed,
we still expect an empty array instead of undefined.
A property with a defaultValue may still be optional, in which case this indicates
the property must have a value when it is present.
The name of this property.
OptionaloptionalIndicates whether this property is optional in the AST node.
Note that a node with a defaultValue may also be optional.
isComplete relies on this info for runtime node completeness checks
OptionalreferenceIf the property is a reference, this is the type of the reference target.
Describes the meta data of a property of an AST node.