# Structs
Branch is a CST node that can have children.
Leaf nodes are part of the cst that cannot have child nodes, they represent a single token from the input.
NodeBase implements the non-fragment parts of the Node interface.
Source represents a source file.
A Token represents the smallest consumed unit input.
# Type aliases
Separator is a list type to manage fragments that were skipped.