in z3tracer/src/syntax.rs [324:338]
fn visit(&'a self, f: &mut F) -> Result<(), E> {
use Equality::*;
match self {
Root => Ok(()),
Literal(id1, id2) => {
f(id1)?;
f(id2)
}
Congruence(ids, id) => {
ids.visit(f)?;
f(id)
}
Theory(_, id) | Axiom(id) | Unknown(id) => f(id),
}
}