1 2 3 4 5 6 7 8 9
#[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum Ty<C, V> { Zero, Add(Box<Ty<C, V>>, Box<Ty<C, V>>), UnboundVar(V), BoundVar(usize), Constructed(C), Recursive(Box<Ty<C, V>>), }