pub fn fold_constraint<F>(f: &mut F, node: Constraint) -> Constraintwhere
    F: Fold + ?Sized,