Renaming so that the names of subtree root nodes are more consistent across the codebase.
Cutover to using a record representation for 'Node' to leverage easy copy-with-single field-change syntax for records.
Octopus merge of rename refactorings and cutover of 'Node' to a record-based representation.