pub trait DeclVisitor<T: ResolvedType, R = ()> {
// Required methods
fn visit_function_decl(&mut self, decl: Arc<Mutex<FnDecl<T>>>) -> R;
fn visit_struct_decl(&mut self, decl: Arc<Mutex<StructDecl<T>>>) -> R;
}
pub trait DeclVisitor<T: ResolvedType, R = ()> {
// Required methods
fn visit_function_decl(&mut self, decl: Arc<Mutex<FnDecl<T>>>) -> R;
fn visit_struct_decl(&mut self, decl: Arc<Mutex<StructDecl<T>>>) -> R;
}