pub trait Visit<'p> {
// Provided methods
fn visit_policy(&mut self, policy: &'p Policy) { ... }
fn visit_definition(&mut self, definition: &'p Definition) { ... }
fn visit_ast_node(&mut self, node: &'p ASTNode) { ... }
fn visit_variable(&mut self, _variable: &'p String) { ... }
fn visit_variable_intro(&mut self, variable: &'p VariableIntro) { ... }
fn visit_clause(&mut self, clause: &'p Clause) { ... }
fn visit_relation(&mut self, relation: &'p Relation) { ... }
fn visit_only_via(
&mut self,
intro: &'p VariableIntro,
op1: &'p (Option<Operator>, Vec<VariableIntro>),
op2: &'p (Option<Operator>, Vec<VariableIntro>),
) { ... }
fn visit_joined_nodes(&mut self, obligation: &'p TwoNodeObligation) { ... }
fn visit_clause_intro(&mut self, intro: &'p ClauseIntro) { ... }
fn visit_clause_num(&mut self, _clause_num: &'p str) { ... }
}