anchor.diff:      }
       return "${dSize.toStringAsFixed(1)} ${what[idx]} ($size B)";
     }
  +
  +  void report() {
  +    print("Offsets: ${_bytesToReadable(offsetsSize)}");
  +    print("String table: ${_bytesToReadable(stringTableSize)}");
  +    print("Link table: ${_bytesToReadable(linkTableSize)}");
  +    print("URI to source table: ${_bytesToReadable(uriToSourceSize)}");
  +    print("Constant table: ${_bytesToReadable(constantTableSize)}");
  +    print("");
  +    for (Uri uri in librarySizes.keys) {
  +      print("Library '$uri': ${_bytesToReadable(librarySizes[uri])}.");
  +    }
  +  }
   }
  
positive.code:   List<int> bytes = new File(args[0]).readAsBytesSync();
    try {
      Component p = new Component();
      new WrappedBinaryBuilder(bytes).readComponent(p);
    } catch (e) {
      print("Argument given isn't a dill file that can be loaded.");
      usage();
  
negative.code: 
  class WrappedBinaryBuilder extends BinaryBuilder {
    WrappedBinaryBuilder(var _bytes) : super(_bytes, disableLazyReading: true);
    int offsetsSize = 0;
    int stringTableSize = 0;
    int linkTableSize = 0;
    int uriToSourceSize = 0;
    int constantTableSize = 0;
    Map<Uri, int> librarySizes = {};
  
    int readOffset() {
      offsetsSize -= byteOffset;
      int result = super.readOffset();
      offsetsSize += byteOffset;
      return result;
    }
  
    void readStringTable(List<String> table) {
      stringTableSize -= byteOffset;
      super.readStringTable(table);
      stringTableSize += byteOffset;
    }
  
    void readLinkTable(CanonicalName linkRoot) {
      linkTableSize -= byteOffset;
      super.readLinkTable(linkRoot);
      linkTableSize += byteOffset;
    }
  
    Map<Uri, Source> readUriToSource() {
      uriToSourceSize -= byteOffset;
      var result = super.readUriToSource();
      uriToSourceSize += byteOffset;
      return result;
    }
  
    void readConstantTable() {
      constantTableSize -= byteOffset;
      super.readConstantTable();
      constantTableSize += byteOffset;
    }
  
    Library readLibrary(Component component, int endOffset) {
      int size = -byteOffset;
      var result = super.readLibrary(component, endOffset);
      size += byteOffset;
      librarySizes[result.importUri] = size;
      return result;
    }
  
  