Our current CSS AST nodes do not make use of the parent-child relationship as implied by the IParseNode interface. Instead, collections of child nodes are placed into arrays/collections which hang off of node properties. This makes it difficult to apply a process to the tree as a whole. We will need to create a CSS node type that is used to as a collection of nodes. Then we can rely on child position to retrieve the elements that are now being placed in fields. Once this change is done, this will certainly impact code that relies on the current shape of the AST: formatting, folding, outline, etc.