anchor.diff:  
       var type = visitInterfaceType(node.getType(types) as InterfaceType);
       var prototype = js.call("#.prototype", [type]);
  -    var properties = [JS.Property(propertyName("__proto__"), prototype)]
  -      ..addAll(node.fieldValues.entries.map(entryToProperty));
  +    var properties = [
  +      JS.Property(propertyName("__proto__"), prototype),
  +      for (var e in node.fieldValues.entries) entryToProperty(e),
  +    ];
       return canonicalizeConstObject(
           JS.ObjectInitializer(properties, multiline: true));
     }
  
positive.code:         runtimeModule,
          _emitVariableRef(caughtError)
        ]),
      ];
      if (stackTraceParameter != null) {
        catchStatements.add(js.statement('let # = #.stackTrace(#)', [
          _emitVariableDef(stackTraceParameter),
          runtimeModule,
          _emitVariableRef(caughtError)
        ]));
      }
      catchStatements.add(catchBody);
      _rethrowParameter = savedRethrow;
      return JS.Catch(_emitVariableDef(caughtError), JS.Block(catchStatements));
    }
  
negative.code:         _currentUri = ctor.enclosingClass.fileUri;
          var jsParams = _emitParameters(ctor.function);
          _currentUri = savedUri;
          var name = ctor.name.name;
          var ctorBody = [
            if (mixinCtor != null) mixinCtor,
            if (name != '' || hasUnnamedSuper)
              _emitSuperConstructorCall(className, name, jsParams),
          ];
          body.add(_addConstructorToClass(
              c, className, name, JS.Fun(jsParams, JS.Block(ctorBody))));
        }
  