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