in z3tracer/src/syntax.rs [266:282]
fn visit(&'a self, f: &mut F) -> Result<(), E> {
use Term::*;
match self {
App { args, .. } => args.visit(f),
Var { .. } => Ok(()),
Quant { triggers, body, .. } => {
triggers.visit(f)?;
f(body)
}
Lambda { triggers, body, .. } => {
triggers.visit(f)?;
f(body)
}
Proof { args, .. } => args.visit(f),
Builtin { .. } => Ok(()),
}
}