vsc = new Chain<Varset>(Varset(constant(), cd_set(), new_ncd), vsc);
vsc = new Chain<Varset>(Varset(constant(), cd_set(), new_ncd, type_), vsc);
  const Varset* restrict(const Chain<Varset>*& vsc,			 Variable var, size_t step_id) const {    const Chain<StepVariable>* new_ncd =      new Chain<StepVariable>(std::make_pair(var, step_id), ncd_set());    vsc = new Chain<Varset>(Varset(constant(), cd_set(), new_ncd), vsc);    return &vsc->head;  }