anchor.diff:        ..code = json['code']
         ..isConst = json['const'] ?? false
         ..initializer = parseId(json['initializer'])
  -      ..closures = (json['children'] as List).map(parseId).toList();
  +      ..closures = (json['children'] as List).map((c) => parseId(c)).toList();
     }
   
     ConstantInfo parseConstant(Map json) {
  
positive.code: 
      var result = new AllInfo();
      var elements = json['elements'];
      result.libraries
          .addAll((elements['library'] as Map).values.map(parseLibrary));
      result.classes.addAll((elements['class'] as Map).values.map(parseClass));
      result.functions
          .addAll((elements['function'] as Map).values.map(parseFunction));
  
      // TODO(het): Revert this when the dart2js with the new codec is in stable
      if (elements['closure'] != null) {
        result.closures
            .addAll((elements['closure'] as Map).values.map(parseClosure));
      }
      result.fields.addAll((elements['field'] as Map).values.map(parseField));
      result.typedefs
          .addAll((elements['typedef'] as Map).values.map(parseTypedef));
      result.constants
          .addAll((elements['constant'] as Map).values.map(parseConstant));
  
      var idMap = new SplayTreeMap<String, Info>(compareNatural);
      for (var f in result.functions) {
  
negative.code:       ..type = json['type']
        ..returnType = json['returnType']
        ..inferredReturnType = json['inferredReturnType']
        ..parameters =
            (json['parameters'] as List).map((p) => parseParameter(p)).toList()
        ..code = json['code']
        ..sideEffects = json['sideEffects']
        ..modifiers =
            parseModifiers(new Map<String, bool>.from(json['modifiers']))
        ..closures = (json['children'] as List).map((p) => parseId(p)).toList()
        ..measurements = parseMeasurements(json['measurements']);
    }
  
  