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