anchor.diff:        fieldValues[fieldRef] = value;
       }
       int assertCount = readUInt30();
  -    List<AssertStatement> asserts =
  -        new List<AssertStatement>.filled(assertCount, null);
  -    for (int i = 0; i < assertCount; i++) {
  -      asserts[i] = readStatement();
  -    }
  +    List<AssertStatement> asserts = new List<AssertStatement>.generate(
  +        assertCount, (_) => readStatement(),
  +        growable: false);
       List<Expression> unusedArguments = readExpressionList();
       return new InstanceCreation(
           classReference, typeArguments, fieldValues, asserts, unusedArguments)
  
positive.code:     SubComponentView result;
      if (createView) {
        result = new SubComponentView(
            new List<Library>.filled(numberOfLibraries, null),
            _componentStartOffset,
            componentFileSize);
      }
  
      for (int i = 0; i < numberOfLibraries; ++i) {
        _byteOffset = index.libraryOffsets[i];
        Library library = readLibrary(component, index.libraryOffsets[i + 1]);
        if (createView) {
          result.libraries[i] = library;
        }
      }
  
  
negative.code: 
    void readLinkTable(CanonicalName linkRoot) {
      int length = readUInt30();
      _linkTable = new List<CanonicalName>.filled(
          length,
          // Use [linkRoot] as a dummy default value.
          linkRoot,
          growable: false);
      for (int i = 0; i < length; ++i) {
        int biasedParentIndex = readUInt30();
        String name = readStringReference();
  