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