anchor.diff:    // post-order.
     Queue<Function> _readLibraryDeclarations(LibraryMirror lib,
         Set<LibraryMirror> librariesSeen, Queue<Function> queue) {
  +    lib = _canonicalLib(lib);
  +    if (librariesSeen.contains(lib)) return queue;
       librariesSeen.add(lib);
   
       // First visit all our dependencies.
       for (var dependency in lib.libraryDependencies) {
         // Skip dart: imports, they never use this package.
         if (dependency.targetLibrary.uri.toString().startsWith('dart:')) continue;
  -      if (librariesSeen.contains(dependency.targetLibrary)) continue;
  -
         _readLibraryDeclarations(dependency.targetLibrary, librariesSeen, queue);
       }
   
  
positive.code:     _readLibraryDeclarations(_rootLibrary, librariesSeen, queue);
      return queue;
    }
  
    /// Whether [uri] is an http URI that contains a 'packages' segment, and
    /// therefore could be converted into a 'package:' URI.
  
negative.code:   InitializationCrawler(this.typeFilter, this.customFilter, {Uri from})
        : _rootLibrary = from == null
            ? _root
            : _libs[from] {
      if (_rootLibrary == null) throw 'Unable to find library at $from.';
    }
  
  