anchor.diff:  import 'tree/tree.dart';
   import 'util/util.dart' show Link, LinkBuilder;
   
  +typedef Future<Iterable<LibraryElement>> ReuseLibrariesFunction(
  +    Iterable<LibraryElement> libraries);
  +
   /**
    * [CompilerTask] for loading libraries and setting up the import/export scopes.
    *
  
positive.code: 
        return Future
            .wait(reusedLibrariesFuture)
            .then((List<LibraryElement> reusedLibraries) {
          resetImplementation(reusedLibraries.where((e) => e != null));
        });
      });
    }
  
negative.code: 
    /// Asynchronous version of [reset].
    Future resetAsync(Future<bool> reuseLibrary(LibraryElement library));
  
    /// Similar to [resetAsync] but [reuseLibrary] maps all libraries to a list
    /// of libraries that can be reused.
    Future<Null> resetLibraries(ReuseLibrariesFunction reuseLibraries);
  }
  
  /// Handle for creating synthesized/patch libraries during library loading.
  