pub type TypeId = Term<Ident, LitType, OptCons<Ident>>;
pub enum TypeId { Var(Ident), Lit(LitType), Cons(OptCons<Ident>, Vec<Term<Ident, LitType, OptCons<Ident>>>), }