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