anchor.diff:  open FSharp.Compiler.Text
   open FSharp.Compiler.Text.Position
   open FSharp.Compiler.Text.Range
  -open FSharp.Compiler.Text
   open FSharp.Compiler.Tokenization
   
   type SignatureHelpParameterInfo =
  
positive.code:                         checkFileResults,
                          documentationBuilder,
                          sourceText,
                          adjustedColumnInSource,
                          triggerTypedChar)
          }
  
  
negative.code:                     // Offset by 1 here until we support reverse indexes in this codebase
                      definedArgs.[.. definedArgs.Length - 1 - numArgsAlreadyApplied] |> Array.iteri (fun index argument ->
                          let tt = ResizeArray()
  
                          if argument.Count = 1 then
                              let argument = argument.[0]
                              let taggedText = argument.Type.FormatLayout symbolUse.DisplayContext
                              taggedText |> Seq.iter (RoslynHelpers.CollectTaggedText tt)
                              
                              let name =
                                  if String.IsNullOrWhiteSpace(argument.DisplayName) then
                                      "arg" + string index
                                  else
                                      argument.DisplayName
  
                              let display =
                                  [|
                                      RoslynTaggedText(TextTags.Local, name)
                                      RoslynTaggedText(TextTags.Punctuation, ":")
                                      RoslynTaggedText(TextTags.Space, " ")
                                  |]
                                  |> ResizeArray
  
                              if argument.Type.IsFunctionType then
                                  display.Add(RoslynTaggedText(TextTags.Punctuation, "("))
  
                              display.AddRange(tt)
  
                              if argument.Type.IsFunctionType then
                                  display.Add(RoslynTaggedText(TextTags.Punctuation, ")"))
  
                              let info =
                                  { ParameterName = name
                                    IsOptional = false
                                    CanonicalTypeTextForSorting = name
                                    Documentation = ResizeArray()
                                    DisplayParts = display }
  
                              displayArgs.Add(info)
                          else
                              let display = ResizeArray()
                              display.Add(RoslynTaggedText(TextTags.Punctuation, "("))
  
                              let separatorParts =
                                  [|
                                      RoslynTaggedText(TextTags.Space, " ")
                                      RoslynTaggedText(TextTags.Operator, "*")
                                      RoslynTaggedText(TextTags.Space, " ")
                                  |]
  
                              let mutable first = true
                              argument |> Seq.iteri (fun index arg ->
                                  if first then
                                      first <- false
                                  else
                                      display.AddRange(separatorParts)
                                  let tt = ResizeArray()
  
                                  let taggedText = arg.Type.FormatLayout symbolUse.DisplayContext
                                  taggedText |> Seq.iter (RoslynHelpers.CollectTaggedText tt)
                                  
                                  let name =
                                      if String.IsNullOrWhiteSpace(arg.DisplayName) then
                                          "arg" + string index
                                      else
                                          arg.DisplayName   
                                          
                                  let namePart =
                                      [|
                                          RoslynTaggedText(TextTags.Local, name)
                                          RoslynTaggedText(TextTags.Punctuation, ":")
                                          RoslynTaggedText(TextTags.Space, " ")
                                      |]
  
                                  display.AddRange(namePart)
                                      
                                  if arg.Type.IsFunctionType then
                                      display.Add(RoslynTaggedText(TextTags.Punctuation, "("))
                                      
                                  display.AddRange(tt)
                                      
                                  if arg.Type.IsFunctionType then
                                      display.Add(RoslynTaggedText(TextTags.Punctuation, ")")))
                              
                              display.Add(RoslynTaggedText(TextTags.Punctuation, ")"))
                              
                              let info =
                                  { ParameterName = "" // No name here, since it's a tuple of arguments has no name in the F# symbol info
                                    IsOptional = false
                                    CanonicalTypeTextForSorting = ""
                                    Documentation = ResizeArray()
                                    DisplayParts = display }
  
                              displayArgs.Add(info))
  
                      do! Option.guard (displayArgs.Count > 0)
  
  