anchor.diff:  type FSharpOutlineTextEditorExtension() = 
       inherit TextEditorExtension()
       let mutable treeView : PadTreeView option = None
  -    
  +    let mutable refreshingOutline : bool = false
  +    let mutable timerId : uint32 = 0u
  +
       override x.Initialize() = 
           base.Initialize()
           x.DocumentContext.DocumentParsed.Add(x.UpdateDocumentOutline)
  
positive.code:     
      //    IdeApp.Workbench.ActiveDocument <> null && IdeApp.Workbench.ActiveDocument.Name = x.DocumentContext.Name
      member private x.UpdateDocumentOutline _ = 
          let ast = maybe { let! context = x.DocumentContext |> Option.ofNull
                            let! parsedDocument = context.ParsedDocument |> Option.ofNull
                            let! ast = parsedDocument.Ast |> Option.tryCast<ParseAndCheckResults>
  
negative.code: 
                  padTreeView.AppendColumn treeCol |> ignore
                  padTreeView.HeadersVisible <- true
                  padTreeView.Realized.Add(fun _ -> x.refillTree |> ignore)
                  padTreeView.Selection.Changed.Subscribe(fun _ -> jumpToDeclaration false) |> ignore
                  padTreeView.RowActivated.Subscribe(fun _ -> jumpToDeclaration true) |> ignore
  
                  let sw = new CompactScrolledWindow()
                  sw.Add padTreeView
                  sw.ShowAll()
                  sw :> Widget
  