anchor.diff:  
   module private Index =
       [<System.Diagnostics.DebuggerDisplay("{DebugString()}")>]
  -    type private IndexEntry(str: string, offset: int, item: NavigableItem, isOperator: bool) =
  +    type private IndexEntry(str: string, offset: int, item: NavigableItem) =
           member _.String = str
           member _.Offset = offset
           member _.Length = str.Length - offset
           member _.Item = item
  -        member _.IsOperator = isOperator
           member x.StartsWith (s: string) = 
               if s.Length > x.Length then false
               else CultureInfo.CurrentCulture.CompareInfo.IndexOf(str, s, offset, s.Length, CompareOptions.IgnoreCase) = offset
  -        member private _.DebugString() = sprintf "%s (offset %d) (%s)" (str.Substring offset) offset str
   
       let private indexEntryComparer =
           { new IComparer<IndexEntry> with
  
positive.code:         | NavigableItemKind.EnumCase -> Glyph.EnumPublic
          | NavigableItemKind.UnionCase -> Glyph.EnumPublic
  
      let containerToString (container: NavigableContainer) (project: Project) =
          let typeAsString =
              match container.Type with
              | NavigableContainerType.File -> "project "
  
negative.code:             | NavigableContainerType.File ->
                  (Path.GetFileNameWithoutExtension project.Name) + ", " + (Path.GetFileName container.Name)
              | _ -> container.Name
  
          let combined = typeAsString + name
  
          if isSignatureFile document.FilePath then
              "signature for: " + combined
          else
              combined
  
      type PerDocumentSavedData = { Hash: int; Items: Index.IIndexedNavigableItems }
  
  