anchor.diff:  
   [<NoComparison>]
   type OpenDeclaration =
  -    { Idents: Set<Idents>
  +    { Idents: Idents list
         DeclRange: Range.range
         Range: Range.range }
   
   type private Line = int
  +
  +let longIdentToArray (longIdent: LongIdent): Idents =
  +    longIdent |> List.map string |> List.toArray
   
   // If "what" span is entirely included in "from" span, then truncate "from" to the end of "what".
   // Example: for ReferenceType symbol "System.Diagnostics.DebuggerDisplay" there are "System", "Diagnostics" and "DebuggerDisplay"
  
positive.code:                     fullName))
          |> Array.concat
  
      debug "Qualified symbols: %A" qualifiedSymbols
          
      let unusedOpenDeclarations: OpenDeclaration list =
          Array.foldBack (fun (symbolRange: Range.range, fullName) openDecls ->
  
negative.code:                 else
                      let usedByCurrentSymbol =
                          Range.rangeContainsRange openDecl.Range symbolRange
                          && (let isUsed = openDecl.Idents |> List.exists ((=) fullName)
                              if isUsed then debug "Open decl %A is used by %A (exact prefix)" openDecl fullName
                              isUsed)
                      (openDecl, used || usedByCurrentSymbol) :: acc, usedByCurrentSymbol) ([], false)
              |> fst
              |> List.rev
  