anchor.diff:  
               | true, (fileStamp2, parsingOptions, projectOptions) ->
                   if fileStamp <> fileStamp2 then
  -                    singleFileCache.Remove(document.Id) |> ignore
  +                    singleFileCache.TryRemove(document.Id) |> ignore
                       return! tryComputeOptionsByFile document ct
                   else
                       return Some(parsingOptions, projectOptions)
  
positive.code:                             reply.Reply None
  
                  | FSharpProjectOptionsMessage.ClearOptions(projectId) ->
                      cache.Remove(projectId) |> ignore
                      legacyProjectSites.TryRemove(projectId) |> ignore
                  | FSharpProjectOptionsMessage.ClearSingleFileOptionsCache(documentId) ->
                      singleFileCache.Remove(documentId) |> ignore
          }
  
      let agent = MailboxProcessor.Start((fun agent -> loop agent), cancellationToken = cancellationTokenSource.Token)
  
negative.code:   
              | true, (oldProject, parsingOptions, projectOptions) ->
                  if isProjectInvalidated oldProject project settings then
                      cache.TryRemove(projectId) |> ignore
                      return! tryComputeOptions project
                  else
                      return Some(parsingOptions, projectOptions)
  