anchor.diff:      let mutable markerData = Unchecked.defaultof<_>
       let markerBrush = SolidColorBrush(Color.FromRgb(255uy, 165uy, 0uy))
   
  -    let updateDisplay () =
  -        protect (fun _ ->
  -            if not textView.IsClosed then
  -                let span = SnapshotSpan(textView.TextBuffer.CurrentSnapshot, 0, textView.TextBuffer.CurrentSnapshot.Length)
  +    let updateDisplay () = 
  +        if not textView.IsClosed then
  +            let span = SnapshotSpan(textView.TextBuffer.CurrentSnapshot, 0, textView.TextBuffer.CurrentSnapshot.Length)
  +            let ctx = System.Threading.SynchronizationContext.Current
  +            async {
                   let data =
                       classifier.GetClassificationSpans(span)
                       |> Seq.choose (fun classification -> 
  
positive.code:                             let line = textView.TextSnapshot.GetLineFromLineNumber(lineNo)
                              textView.Caret.MoveTo(VirtualSnapshotPoint(textView.TextSnapshot, pos)) |> ignore
                              textView.ViewScroller.EnsureSpanVisible(SnapshotSpan(line.Start, 0), EnsureSpanVisibleOptions.ShowStart))
                          children.Add(marker) |> ignore)
  
      let docEventListener = new DocumentEventListener ([ViewChange.viewportHeightEvent textView; ViewChange.classificationEvent classifier], 
                                     200us, updateDisplay)
  
negative.code: ﻿namespace FSharpVSPowerTools
  
  open System.Linq
  open System.Windows
  open System.Windows.Shapes
  open System.Windows.Media
  