anchor.diff:              | _ ->
                   let! items = getNavigableItems(document, options, cancellationToken)
                   let indexedItems = Index.build items
  +                itemsByDocumentId.Remove(document.Id) |> ignore
                   itemsByDocumentId.Add(document.Id, (textVersionHash, indexedItems))
                   return indexedItems
           }
  
positive.code:     type IIndexedNavigableItems =
          abstract Find: searchValue: string -> INavigateToSearchResult []
  
      let build (items: seq<NavigableItem>) =
          let entries = ResizeArray()
  
  
negative.code:                                  else NavigateToMatchKind.Prefix
                               else NavigateToMatchKind.Substring
                           let item = entry.Item
                           result.Add (NavigateToSearchResult(item, matchKind) :> INavigateToSearchResult) |> ignore
                      
                       // in case if there are multiple matching items binary search might return not the first one.
                       // in this case we'll walk backwards searching for the applicable answers
  