anchor.diff:                  match currentWord, state with
                   | Some word, Some (symbol, candidates) ->
                       let span = SnapshotSpan(buffer.CurrentSnapshot, word.Span)
  -                    yield TagSpan<_>(span, ResolveUnopenedNamespaceSmartTag(x.GetSmartTagActions(word.Snapshot, candidates, symbol)))
  +                    yield TagSpan<_>(span, ResolveUnopenedNamespaceSmartTag(getSmartTagActions word candidates symbol))
                             :> _
                   | _ -> ()
               }
  -
  +             
           [<CLIEvent>]
           member x.TagsChanged = tagsChanged.Publish
   
  
positive.code:     let docEventListener = new DocumentEventListener ([ViewChange.layoutEvent view; ViewChange.caretEvent view], 
                                                        500us, updateAtCaretPosition)
  
      let openNamespace (_snapshot: ITextSnapshot) _ns = 
          use transaction = textUndoHistory.CreateTransaction(Resource.recordGenerationCommandName)
          //let currentLine = snapshot.GetLineFromLineNumber(insertionPos.InsertionPos.Line-1).Start.Position + insertionPos.InsertionPos.Column
          //buffer.Insert(currentLine, stub) |> ignore
          transaction.Complete()
  
      let openNamespaceAction snapshot ns =
          { new ISmartTagAction with
              member x.ActionSets = null
              member x.DisplayText = ns
              member x.Icon = null
              member x.IsEnabled = true
              member x.Invoke() = openNamespace snapshot ns
          }
  
      member x.GetSmartTagActions(snapshot, candidates, _symbol) =
          let actionList = 
              candidates 
              |> List.map (fun ns -> sprintf "open %s" ns) 
              |> List.map (openNamespaceAction snapshot)
              |> Seq.toReadOnlyCollection
  
          [ SmartTagActionSet(actionList) ] |> Seq.toReadOnlyCollection
  
      interface ITagger<ResolveUnopenedNamespaceSmartTag> with
          member x.GetTags _spans =
  
negative.code:           
      let tagsChanged = Event<_, _>()
      let mutable currentWord: SnapshotSpan option = None
      let mutable state: (Symbol * Entity list) option = None
  
      let updateAtCaretPosition() =
          match buffer.GetSnapshotPoint view.Caret.Position, currentWord with
  