pub trait Fold { // Provided methods fn fold_node(&mut self, node: Node) -> Node { ... } fn fold_measure(&mut self, measure: Measure) -> Measure { ... } }