anchor.diff:    // Emit a new program scope that introduces a new local variable.
     bool emitScope(int depth) {
       DartType tp = getType();
  -    emitLn('{ ${tp.name} $localName${localVars.length} = ', newline: false);
  +    final int i = localVars.length;
  +    emitLn('{ ${tp.name} $localName$i = ', newline: false);
  +    localVars.add(null); // declared, but don't use
       emitExpr(0, tp);
  +    localVars.removeLast(); // will get type
       emit(';', newline: true);
       indent += 2;
       localVars.add(tp);
  
positive.code:   bool emitForIn(int depth) {
      final int i = localVars.length;
      emitLn('for (int $localName$i in ', newline: false);
      emitExpr(0, rand.nextBool() ? DartType.INT_LIST : DartType.INT_SET);
      emit(') {', newline: true);
      indent += 2;
      nest++;
  
negative.code:               emit(') ');
                break;
            }
            localVars.removeLast(); // will get type
            nest++;
            iterVars.add("$localName$i");
            localVars.add(DartType.INT);
            emitCollectionElement(depth + 1, tp);
            localVars.removeLast();
            iterVars.removeLast();
            nest--;
            break;
          }
  