pub trait VisitorCtx<'ast> {
// Provided methods
fn enter_function(&mut self, _func: &'ast Item<'ast>) { ... }
fn exit_function(&mut self) { ... }
fn enter_module(&mut self, _mod: &'ast Module<'ast>) { ... }
fn exit_module(&mut self) { ... }
fn enter_struct(&mut self, _mod: &'ast Item<'ast>) { ... }
fn exit_struct(&mut self) { ... }
}