anchor.diff:    /// This function is called when the project is know to have changed for reasons not encoded in the ProjectOptions
     /// e.g. dependent references have changed
     member x.InvalidateConfiguration(options) =
  -    Debug.WriteLine(sprintf "LanguageService: Invalidating configuration for: %s" <| Path.GetFileName(options.ProjectFileName) )
  +    Debug.WriteLine("LanguageService: Invalidating configuration for: {0}", Path.GetFileName(options.ProjectFileName))
       checker.InvalidateConfiguration(options)
   
     //flush all caches and garbage collect
  
positive.code:   member x.ParseAndCheckFileInProject(projectFilename, fileName:string, src) =
      async {
        let opts = x.GetCheckerOptions(fileName, projectFilename, src)
        Debug.WriteLine(sprintf "LanguageService: ParseAndCheckFileInProject: Trigger parse (fileName=%s)" fileName)
        let! results = mbox.PostAndAsyncReply(fun r -> fileName, src, opts, r)
        return results
      }
  
    member x.ParseFileInProject(projectFilename, fileName:string, src) = 
      let opts = x.GetCheckerOptions(fileName, projectFilename, src)
      Debug.WriteLine(sprintf "LanguageService: ParseFileInProject: Get untyped parse result (fileName=%s)" fileName)
      checker.ParseFileInProject(fixFileName fileName, src, opts)
  
    member internal x.TryGetStaleTypedParseResult(fileName:string, options, src, stale)  = 
  
negative.code:     let key = (projFilename, properties)
      match (!projectInfoCache).TryFind (key) with
             | Some entry, cache ->
                 Debug.WriteLine ("LanguageService: GetProjectCheckerOptions: Getting ProjectOptions from cache for {0}", projFilename)
                 projectInfoCache := cache
                 entry
             | None, cache ->
                 lock projectInfoCache (fun () ->
                 Debug.WriteLine ("LanguageService: GetProjectCheckerOptions: Generating ProjectOptions for {0}", Path.GetFileName(projFilename))
                 let opts = checker.GetProjectOptionsFromProjectFile(projFilename, properties)
                 projectInfoCache := cache.Add (key, opts)
                 opts)
  
      // Print contents of check option for debugging purposes
      // Debug.WriteLine(sprintf "GetProjectCheckerOptions: ProjectFileName: %s, ProjectFileNames: %A, ProjectOptions: %A, IsIncompleteTypeCheckEnvironment: %A, UseScriptResolutionRules: %A" 
  