anchor.diff:  open Microsoft.FSharp.Compiler.Range
   open Microsoft.FSharp.Compiler.SourceCodeServices
   open System.Runtime.Caching
  +open System.Collections.Concurrent
   
   type internal FSharpCompletionProvider
       (
  
positive.code:             (documentId, document.FilePath, defines)
  
          FSharpCompletionProvider.ShouldTriggerCompletionAux(sourceText, caretPosition, trigger.Kind, getInfo)
      
      override this.ProvideCompletionsAsync(context: Completion.CompletionContext) =
          asyncMaybe {
              let document = context.Document
  
negative.code:     inherit CompletionProvider()
  
      static let userOpName = "CompletionProvider"
      // Save the backing data in a cache, we need to save for at least the length of the completion session
      // See https://github.com/Microsoft/visualfsharp/issues/4714
      static let declarationItemsData = new ConcurrentDictionary<string, FSharpDeclarationListItem>()
      static let [<Literal>] NameInCodePropName = "NameInCode"
      static let [<Literal>] FullNamePropName = "FullName"
      static let [<Literal>] IsExtensionMemberPropName = "IsExtensionMember"
  