This module represents the data held at the node of a tree. Each node can have either branch or leafdata, so this data can be either of those.
Represent a value that may either be Branch of Leaf data (where each has its own type, parameterised by b and l.
Branch
Leaf
b
l
If the given data is branch data then unwrap it.
If the given data is leaf data then unwrap it.
Represent a value that may either be
BranchofLeafdata (where each has its own type, parameterised bybandl.