sclass CountingVarMaker implements VarMaker {
  S prefix = "";
  Set<S> taken = ciSet();
  int i;
  
  *() {}
  *(S *prefix) {}
  *(S *prefix, Cl<S> taken) { addAll(this.taken, taken); }
  
  public void addTaken(S s) { taken.add(s); }
  
  public S get() {
    S s;
    do ping {
      s = prefix + ++i;
    } while (taken.contains(s));
    ret s;
  }
}