anchor.diff:  open System
   open Microsoft.VisualStudio.Text
   open Microsoft.VisualStudio.Text.Tagging
  -open Microsoft.VisualStudio.Text.Editor
  -open Microsoft.VisualStudio.Text.Operations
  -open Microsoft.VisualStudio.Utilities
  -open Microsoft.VisualStudio.Shell
  -open System.ComponentModel.Composition
   open FSharpVSPowerTools
   open FSharpVSPowerTools.Utils
   open FSharpVSPowerTools.ProjectSystem
   open FSharpVSPowerTools.UntypedAstUtils.Outlining
   open Microsoft.VisualStudio.Shell.Interop
  -open Microsoft.FSharp.Compiler.Ast
  -open Microsoft.FSharp.Compiler.Range
   open System.Threading
  -open System.Diagnostics
   open System.Text
   
   let [<Literal>] private UpdateDelay = 200us
  
positive.code:             let ranges = (getOutliningRanges>>Seq.choose (fromSRange snapshot)>>Array.ofSeq) ast
              do! Async.SwitchToContext uiContext |> AsyncMaybe.liftAsync
              triggerUpdate ranges
          } |> Async.Ignore |> Async.StartInThreadPoolSafe
  
  
      /// viewUpdate -=> doUpdate -=> triggerUpdate -=> tagsChanged
  
negative.code:             if nHintLines > MaxTooltipLines then
                  lastLine <- snapshot.GetLineFromLineNumber (firstLine.LineNumber + MaxTooltipLines - 1)
  
              let missingLinesCount = max (nHintLines - MaxTooltipLines) 0
  
              let hintSnapshotSpan = SnapshotSpan (firstLine.Start, lastLine.End)
              let collapseText, collapseSpan = 
  