anchor.diff:  
     @override
     bool operator ==(other) {
  -    if (other is Uri) {
  -      if (other is FastUri) {
  -        return _text == other._text;
  +    if (other is FastUri) {
  +      if (other._cacheGeneration == _cacheGeneration) {
  +        return identical(other, this);
         }
  +      return _text == other._text;
  +    } else if (other is Uri) {
         return _fallbackUri == other;
       }
       return false;
  
positive.code: 
    Uri _cachedFallbackUri;
  
    FastUri(this._text, this._scheme, this._path, this._lastSlashIndex);
  
    @override
    String get authority => '';
  
negative.code:  * limited URI format, so almost always can be processed fast.
   */
  class FastUri implements Uri {
    /***
     * The maximum [_cache] length before we flush it and start a new generation.
     */
    static const int _MAX_CACHE_LENGTH_BEFORE_FLUSH = 50000;
  
    static HashMap<String, Uri> _cache = new HashMap<String, Uri>();
    static int _currentCacheLength = 0;
    static int _currentCacheGeneration = 0;
  
    final int _cacheGeneration;
    final String _text;
    final String _scheme;
    final String _path;
  