anchor.diff:      | ParsedInput.SigFile _ -> ()
       | ParsedInput.ImplFile input -> walkImplFileInput input
       //debug "%A" idents
  -    Seq.toArray idents
  +    upcast identsByEndPos
    
   type IsSymbolUsed = bool
   
  
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: 
      debug "[LanguageService] Open declarations: %A" openDeclarations
  
      let longIdentsByEndPos = untypedAst |> Option.map getLongIdents |> Option.getOrElse (Dictionary() :> _)
  
      let symbolUsesPotentiallyRequireOpenDecls =
          allSymbolsUses'
  