anchor.diff:                  | (:? FSharpEntity as aa), (:? FSharpEntity as bb) ->
                       let comparisonResult =
                           let aaAllBases = ancestry aa
  +
                           match (aaAllBases |> Seq.tryFind (fun a -> a.IsEffectivelySameAs bb)) with
                           | Some _ ->  -1
                           | _ ->
  
positive.code: 
      let (|InvalidToken|_|) context =
          let token = Tokens.getTokenAtPoint context.editor context.editor.DocumentContext context.triggerOffset
          if Tokens.isInvalidCompletionToken token then
              Some InvalidToken
          else
  
negative.code:                 let! (typedParseResults: ParseAndCheckResults option) =
                      lock parseLock (fun() ->
                          async {
                              match parsedDocument with
                              | Some document -> 
                                  match document.ParsedLocation with
                                  | Some location ->
                                      if location.Line = context.line && location.Column > lineToCaret.LastIndexOf("->") then
  