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: 
  class WrappedBinaryBuilder extends BinaryBuilder {
    WrappedBinaryBuilder(var _bytes) : super(_bytes, disableLazyReading: true);
  
    void readStringTable(List<String> table) {
      int size = -byteOffset;
      super.readStringTable(table);
      size += super.byteOffset;
      print("String table: ${_bytesToReadable(size)}.");
    }
  
    void readLinkTable(CanonicalName linkRoot) {
      int size = -byteOffset;
      super.readLinkTable(linkRoot);
      size += super.byteOffset;
      print("Link table: ${_bytesToReadable(size)}.");
    }
  
    Map<Uri, Source> readUriToSource() {
      int size = -byteOffset;
      var result = super.readUriToSource();
      size += super.byteOffset;
      print("URI to sources map: ${_bytesToReadable(size)}.");
      return result;
    }
  
    void readConstantTable() {
      int size = -byteOffset;
      super.readConstantTable();
      size += super.byteOffset;
      print("Constant table: ${_bytesToReadable(size)}.");
    }
  
    Library readLibrary(Component component, int endOffset) {
      int size = -byteOffset;
      var result = super.readLibrary(component, endOffset);
      size += super.byteOffset;
      print("Library '${result.importUri}': ${_bytesToReadable(size)}.");
      return result;
    }
  
  
negative.code:   List<int> bytes = new File(args[0]).readAsBytesSync();
    try {
      Component p = new Component();
      new WrappedBinaryBuilder(bytes)
        ..readComponent(p)
        ..report();
    } catch (e) {
      print("Argument given isn't a dill file that can be loaded.");
      usage();
  