anchor.diff:    }
   
     String? emitVar(int depth, DartType tp,
  -      {bool isLhs = false, RhsFilter? rhsFilter}) {
  +      {bool isLhs = false, String? assignOp, RhsFilter? rhsFilter}) {
       switch (choose(2)) {
         case 0:
           return emitScalarVar(tp, isLhs: isLhs, rhsFilter: rhsFilter);
           break;
         default:
           return emitSubscriptedVar(depth, tp,
  -            isLhs: isLhs, rhsFilter: rhsFilter);
  +            isLhs: isLhs, assignOp: assignOp, rhsFilter: rhsFilter);
           break;
       }
     }
  
positive.code: 
    // Emit a throw statement.
    bool emitThrow() {
      var tp = oneOfSet(dartType.allTypes);
      emitLn('throw ', newline: false);
      emitExpr(0, tp.toNonNullable(), includeSemicolon: true);
      return false;
    }
  
  
negative.code: 
          emitNewline();
          emitTryCatchFinally(() {
            for (var i = 0; i < globalVars.length; i++) {
              emitPrint('$varName$i: \$$varName$i');
              emitNewline();
            }
          }, () => emitPrint('print() throws'));
        });
  
  