The type of state passed into each visit
The element being visited
The depth level in the tree (0 = root)
Information about the edge leading to this element
The state value cloned from the parent visit
Tuple of [newState, stopDescent] where:
newState; sibling
subtrees do not see each other's mutations.
Visitor function type.