An iterator over an arena, created with
A single node in the tree. Has a reference to the first child and the next sibling.
An AST node ID for lookups in the arena
An iterator over a node's siblings. Keeps going to the next sibling until it reaches the end.
An easy way to create a list of nodes. The first node will point to the next, etc...
Arenas are efficient ways of storing trees: All nodes are actually on a flat surface, but have IDs to other nodes.