pub trait Visitor<T> { // Required methods fn pre_visit(&mut self, expr: &T); fn post_visit(&mut self, expr: &T); }