vsc = new Chain<Varset>(Varset(name, cd_set(), ncd_set()), vsc); return &vsc->head;
Type ot = terms.type(name); if (types.subtype(ot, type_)) { vsc = new Chain<Varset>(Varset(name, cd_set(), ncd_set(), ot), vsc); return &vsc->head; } else { return NULL; }
  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;    }  }