anchor.diff:  open Microsoft.FSharp.Compiler.Range
   open Microsoft.FSharp.Compiler.SourceCodeServices
   
  -type internal FSharpNavigableItem(document: Document, textSpan: TextSpan, displayString: string) =
  -    member this.DisplayString = displayString
  +type internal FSharpNavigableItem(document: Document, textSpan: TextSpan) =
   
       interface INavigableItem with
           member this.Glyph = Glyph.BasicFile
  
positive.code:             // REVIEW: document this use of a blocking wait on the cancellation token, explaining why it is ok
              definitionTask.Wait(cancellationToken)
              
              if definitionTask.Status = TaskStatus.RanToCompletion then
                  if definitionTask.Result.Any() then
                      let navigableItem = definitionTask.Result.First() :?> FSharpNavigableItem // F# API provides only one INavigableItem
                      for presenter in presenters do
                          presenter.DisplayResult(navigableItem.DisplayString, definitionTask.Result)
                      true
                  else
                      false
              else
                  false
  
negative.code:                         let refDocument = document.Project.Solution.GetDocument(refDocumentId)
                          let! refSourceText = refDocument.GetTextAsync(cancellationToken) |> Async.AwaitTask
                          let refTextSpan = CommonRoslynHelpers.FSharpRangeToTextSpan(refSourceText, range)
                          results.Add(FSharpNavigableItem(refDocument, refTextSpan))
  
                  | None -> ()
              | None -> ()
              return results.AsEnumerable()
  