const Varset* add(const Chain<Varset>*& vsc, Object name) const {
const Varset* add(const Chain<Varset>*& vsc, Object name, const TypeTable& types, const TermTable& terms) const {
  const Varset* add(const Chain<Varset>*& vsc, Object name) const {    if (constant() != Object(NULL_TERM)) {      return (constant() == name) ? this : NULL;    } else {      vsc = new Chain<Varset>(Varset(name, cd_set(), ncd_set()), vsc);      return &vsc->head;    }  }