anchor.diff:    // Emit a simple membership forEach loop.
     bool emitForEach(int depth) {
       final int i = localVars.length;
  +    final int j = i + 1;
       emitLn("", newline: false);
       final emittedVar = emitScalarVar(DartType.INT_STRING_MAP, isLhs: false);
       iterVars.add(emittedVar);
  -    emit('.forEach(($localName$i, $localName${i + 1}) {\n');
  +    emit('.forEach(($localName$i, $localName$j) {\n');
       indent += 2;
       final int nestTmp = nest;
       // Reset, since forEach cannot break out of own or enclosing context.
  
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:           final int i = localVars.length;
            emit('for (int $localName$i ');
            // For-loop (induction, list, set).
            localVars.add(null); // declared, but don't use
            switch (rand.nextInt(3)) {
              case 0:
                emit('= 0; $localName$i < ');
  