anchor.diff:                  checkFileInProjectCachePossiblyStale.Clear ltok
                   checkFileInProjectCache.Clear ltok
                   parseFileCache.Clear(ltok))
  -            incrementalBuildersCache.Clear ctok
  +            incrementalBuildersCache.Clear(AssumeAnyCallerThreadWithoutEvidence())
               frameworkTcImportsCache.Clear ctok
               scriptClosureCacheLock.AcquireLock (fun ltok -> scriptClosureCache.Clear ltok)
               cancellable.Return ())
  
positive.code:     // 
      /// Cache of builds keyed by options.        
      let incrementalBuildersCache = 
          MruCache<CompilationThreadToken, FSharpProjectOptions, (IncrementalBuilder option * FSharpErrorInfo[])>
                  (keepStrongly=projectCacheSize, keepMax=projectCacheSize, 
                   areSame =  FSharpProjectOptions.AreSameForChecking, 
                   areSimilar =  FSharpProjectOptions.UseSameProject)
  
      let getOrCreateBuilder (ctok, options, userOpName) =
        cancellable {
            RequireCompilationThread ctok
            match incrementalBuildersCache.TryGet (ctok, options) with
            | Some (builderOpt,creationErrors) -> 
                Logger.Log LogCompilerFunctionId.Service_IncrementalBuildersCache_GettingCache
                return builderOpt,creationErrors
            | None -> 
                Logger.Log LogCompilerFunctionId.Service_IncrementalBuildersCache_BuildingNewCache
                let! (builderOpt,creationErrors) as info = CreateOneIncrementalBuilder (ctok, options, userOpName)
                incrementalBuildersCache.Set (ctok, options, info)
                return builderOpt, creationErrors
        }
  
      let getSimilarOrCreateBuilder (ctok, options, userOpName) =
          RequireCompilationThread ctok
          match incrementalBuildersCache.TryGetSimilar (ctok, options) with
          | Some res -> Cancellable.ret res
          // The builder does not exist at all. Create it.
          | None -> getOrCreateBuilder (ctok, options, userOpName)
  
negative.code: 
      /// Clear the internal cache of the given projects.
      member __.ClearCache(options: FSharpProjectOptions seq, ?userOpName: string) =
          let _userOpName = defaultArg userOpName "Unknown"
          backgroundCompiler.ClearCache(options)
  
      /// This function is called when a project has been cleaned, and thus type providers should be refreshed.
      member __.NotifyProjectCleaned(options: FSharpProjectOptions, ?userOpName: string) =
  