val fold : enter:( 'b -> t -> [< `Return of 'a | `Continue of 'b list * view ] ) -> leave:'a leave -> 'b -> t -> 'a
Folding over a node with folding
When entering a node:
enter is executed with the current node. The function can stop the further traversal by returning
`Return _ or continue the traversal by returning
When leaving a node after traversing its sub nodes: When
`Continue _ and its subnodes are traversed, then
leave is executed.