anchor.diff:      async { 
          while true do
               try
  -              Debug.WriteLine("Worker: Awaiting request") 
  +              Debug.WriteLine("LanguageService agent: Awaiting request") 
                 let! (fileName, source, options, reply: AsyncReplyChannel<_> ) = mbox.Receive()
  -              
  -              let fileName = fixFileName(fileName)            
  -              Debug.WriteLine("Worker: Request received, fileName = {0}, parsing...", box fileName)
  -              let! parseResults = checker.ParseFileInProject(fileName, source, options) 
  -                
  -              Debug.WriteLine("Worker: Typecheck source...")
  +
  +              Debug.WriteLine("LanguageService agent: Dequeued request {0} remaining", mbox.CurrentQueueLength) 
  +              let fileName = fixFileName(fileName)
  +
  +              Debug.WriteLine("LanguageService agent: start parsing - {0}", box fileName)
  +              let! parseResults = checker.ParseFileInProject(fileName, source, options)
  +              Debug.WriteLine("LanguageService agent: parse completed")
  +
  +              Debug.WriteLine("LanguageService agent: Typecheck source...")
                 let! checkAnswer = checker.CheckFileInProject(parseResults, fileName, 0, source,options, IsResultObsolete(fun () -> false), null )
  -                
  -              Debug.WriteLine(sprintf "Worker: Parse completed")
  +              Debug.WriteLine(sprintf "LanguageService agent: Typecheck completed")
                 
                 // Construct new typed parse result if the task succeeded
                 let results =
                   match checkAnswer with
                   | FSharpCheckFileAnswer.Succeeded(checkResults) ->
  -                    Debug.WriteLine(sprintf "LanguageService: Update typed info - HasFullTypeCheckInfo? %b" checkResults.HasFullTypeCheckInfo)
  +                    Debug.WriteLine(sprintf "LanguageService agent: Update typed info - HasFullTypeCheckInfo? %b" checkResults.HasFullTypeCheckInfo)
                       ParseAndCheckResults(checkResults, parseResults)
                   | _ -> 
  -                    Debug.WriteLine("LanguageService: Update typed info - failed")
  +                    Debug.WriteLine("LanguageService agent: Update typed info - failed")
                       ParseAndCheckResults.Empty
                       
                 reply.Reply results
  -            with exn -> Debug.WriteLine( sprintf "LanguageService: Exception: %s" (exn.ToString()) )
  +            with exn -> Debug.WriteLine( sprintf "LanguageService agent: Exception: %s" (exn.ToString()) )
           })
   
     static member IsAScript fileName =
  
positive.code: 
    /// Constructs options for the interactive checker for the given file in the project under the given configuration.
    member x.GetCheckerOptions(fileName, projFilename, source, files, args) =
      let ext = Path.GetExtension(fileName)
      let opts =
        if LanguageService.IsAScript fileName then
          // We are in a stand-alone file or we are in a project, but currently editing a script file
  
negative.code:     let opts = 
        
        // We are in a project - construct options using current properties
          Debug.WriteLine (sprintf "LanguageService: GetProjectCheckerOptions: Creating for project '%s'" projFilename )
  
          {ProjectFileName = projFilename
           ProjectFileNames = files
  