anchor.diff:       Uri libraryRoot,
        Uri packageRoot,
        bool packagesAreImmutable: false,
  -     Map<String, dynamic> environment}) {
  +     Map<String, dynamic> environment,
  +     bool reuseLibrary(LibraryElement library)}) {
     UserTag oldTag = new UserTag('_reuseCompiler').makeCurrent();
     if (libraryRoot == null) {
       throw 'Missing libraryRoot';
  
positive.code:     backend
          ..preMirrorsMethodCount = 0;
  
      compiler.libraryLoader.reset(reuseLibrary: (LibraryElement library) {
        return library.isPlatformLibrary ||
               (packagesAreImmutable && library.isPackageLibrary);
      });
    }
    oldTag.makeCurrent();
    return compiler;
  
negative.code:         options,
          environment);
    } else {
      for (final task in compiler.tasks) {
        if (task.watch != null) {
          task.watch.reset();
        }
      }
      compiler
          ..outputProvider = outputProvider
          ..provider = inputProvider
  