1 2pub trait Type { 3 fn type_id(&self) -> usize; 4 // fn type_name(&self) -> String; 5} 6 7pub trait Typed { 8 type Node: Type; 9 fn type_same(&self, x: &Self::Node, y: &Self::Node) -> bool; 10}