anchor.diff:      if (dataOrError is List<int>) {
         _loadScript(tag, uri, libraryUri, dataOrError);
       } else {
  -      _asyncLoadError(tag, uri, libraryUri, dataOrError);
  +      assert(dataOrError is String);
  +      var error = new LoadError(dataOrError.toString());
  +      _asyncLoadError(tag, uri, libraryUri, error);
       }
     }).catchError((e) {
  -    _asyncLoadError(tag, uri, libraryUri, e.toString());
  +    // Wrap inside a LoadError unless we are already propagating a previously
  +    // seen LoadError.
  +    var error = (e is LoadError) ? e : new LoadError(e.toString);
  +    _asyncLoadError(tag, uri, libraryUri, error);
     });
   
     try {
  
positive.code:     // uri.
      libraryUri = uri;
    }
    _asyncLoadErrorCallback(uri, libraryUri, new LoadError(error.toString()));
    _finishedOneLoadRequest(uri);
  }
  
  
negative.code:   _finishedOneLoadRequest(uri);
  }
  
  void _asyncLoadError(int tag, String uri, String libraryUri, LoadError error) {
    if (_logBuiltin) {
      _print("_asyncLoadError($uri), error: $error");
    }
  