pub fn fold_label<F>(f: &mut F, node: Label) -> Label where
    F: Fold + ?Sized