major cleanup of tsig datastructures and extend/merge operations; fixes old bugs in classes/arities code; proper treatment of nonterminals and syntax-only types;
Itrev = Main +
consts itrev :: 'a list => 'a list => 'a list
primrec
"itrev [] ys = ys"
"itrev (x#xs) ys = itrev xs (x#ys)"
end