ForestOp represents a single operation on a forest, such as move or delete.
||Represents the add operation.
||Represents move operation.
||Represents the remove operation.
||This is a utility implementation of
ForestParentChildrenClosure that collects the results
of processing sub-issues into a list.
ForestUpdate represents information about what the client code needs to do
to bring their version of some structure's forest to the some newer version.
||Empty update means that nothing needs to be done and the client code has the latest version of the forest.
||The full update contains the whole forest.
||Incremental update means that the client code should apply a series of transformations
to bring their version of the forest to the latest version.