anchor.diff:      let mutable SourceBuffer : ITextBuffer = null
       let mutable CurrentChar : Nullable<SnapshotPoint> = new Nullable<SnapshotPoint>()
   
  -    let getTags (spans : NormalizedSnapshotSpanCollection) =
  -        Seq.empty
  -
       let TagsChanged = new Event<_>()
   
       let UpdateAtCaretPosition (position : CaretPosition) =
  
positive.code:                                         currentChar := (!currentChar).TranslateTo(spans.ElementAt<SnapshotSpan>(0).Snapshot, PointTrackingMode.Positive)
                             
                              let currentPosition = currentChar.Value.Position
                              let lexeredText = List.ofSeq <| LexString ( SourceBuffer.CurrentSnapshot.GetText() )
                              let parentheses = List.filter isParenthesis lexeredText
                              let shouldBeProcessed = parentheses |> List.exists (fun x ->
                                                  match x with
                                                  |LPAREN r when r.Start.AbsoluteOffset = currentPosition -> true
  
negative.code:     let CaretPositionChanged (sender : obj) (e : CaretPositionChangedEventArgs) = 
          UpdateAtCaretPosition(e.NewPosition)
      let ViewLayoutChanged (sender: obj) (e : TextViewLayoutChangedEventArgs) =
          if not (e.OldSnapshot = e.NewSnapshot) && ( e.NewSnapshot.Length = e.OldSnapshot.Length || e.VerticalTranslation || e.HorizontalTranslation) then
              UpdateAtCaretPosition(View.Caret.Position)
  
      do 
  