anchor.diff:  open Microsoft.FSharp.Compiler.Ast
   open Microsoft.FSharp.Compiler.SourceCodeServices
   open FSharpVSPowerTools
  +open System.Collections.Generic
   
   [<RequireQualifiedAccess>]
   type Category =
  
positive.code:         { from with StartCol = what.EndCol + 1 } // the dot between parts
      else from
  
  let getLongIdents (input: ParsedInput) : (Range.range * Idents)[] =
      let idents = ResizeArray<Range.range * Idents>()
      let addLongIdentWithDots (value: LongIdentWithDots) = 
          idents.Add (value.Range, longIdentToArray value.Lid)
      let addIdent (ident: Ident) = idents.Add (ident.idRange, [|ident.idText|])
  
      let (|ConstructorPats|) = function
          | Pats ps -> ps
  
negative.code:     | ParsedInput.SigFile _ -> ()
      | ParsedInput.ImplFile input -> walkImplFileInput input
      //debug "%A" idents
      upcast identsByEndPos
   
  type IsSymbolUsed = bool
  
  