anchor.diff:  type BraceMatchingTagger (view : ITextView, sourceBuffer : ITextBuffer) as self =
       let mutable View : ITextView = null
       let mutable SourceBuffer : ITextBuffer = null
  -    let mutable CurrentChar : Nullable<SnapshotPoint> = new Nullable<SnapshotPoint>() //is this right?
  +    let mutable CurrentChar : Nullable<SnapshotPoint> = new Nullable<SnapshotPoint>()
       let mutable lexeredText = null
   
       let getTags (spans : NormalizedSnapshotSpanCollection) =
           Seq.empty
   
       let TagsChanged = new Event<_>()
  -        
   
       let UpdateAtCaretPosition (position : CaretPosition) =
           CurrentChar <- position.Point.GetPoint(SourceBuffer, position.Affinity)
  
positive.code: 
      interface ITagger<TextMarkerTag> with
          member self.GetTags spans = getTags spans
          member self.add_TagsChanged z  = //no idea of any way of transforming EventHandler<SnapshotSpanEvebtArgs> to acceptible type for Event.add or TagsChanged.Add
             // TagsChanged.Publish.AddHandler z
              () // Event.add x TagsChanged.Publish
          member self.remove_TagsChanged x =  ()
negative.code:         lexeredText <- LexString (SourceBuffer.CurrentSnapshot.GetText())
          let currentPosition = start.Position //shows the number of chars before the cursor position
          let hasTheCurrentPosition t =
              match t with
              | LPAREN (x) -> (x.Start.AbsoluteOffset = currentPosition)
              | _ -> false
          let isParenthesisToken t =
              match t with
              | LPAREN (x) -> (x.Start.AbsoluteOffset > currentPosition)
  