anchor.diff:  
     @override
     JS.Expression visitMapLiteral(MapLiteral node) {
  -    var entries = <JS.Expression>[];
  -    for (var e in node.entries) {
  -      entries.add(_visitExpression(e.key));
  -      entries.add(_visitExpression(e.value));
  -    }
  +    var entries = [
  +      for (var e in node.entries) ...[
  +        _visitExpression(e.key),
  +        _visitExpression(e.value),
  +      ],
  +    ];
   
       // TODO(markzipan): remove const check when we use front-end const eval
       if (!node.isConst) {
  
positive.code: 
      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));
      return canonicalizeConstObject(
          JS.ObjectInitializer(properties, multiline: true));
    }
  
negative.code:       className ?? JS.Identifier(name)
      ]);
  
      var genericArgs = [
        typeConstructor,
        if (deferredBaseClass != null && deferredBaseClass.isNotEmpty)
          js.call('(#) => { #; }', [jsFormals, deferredBaseClass]),
      ];
  
      var genericCall = runtimeCall('generic(#)', [genericArgs]);
  
  