anchor.diff:      
       //    IdeApp.Workbench.ActiveDocument <> null && IdeApp.Workbench.ActiveDocument.Name = x.DocumentContext.Name
       member private x.UpdateDocumentOutline _ = 
  +        if not refreshingOutline then
  +            refreshingOutline <- true
  +            timerId <- GLib.Timeout.Add (3000u, (fun _ -> x.refillTree))
  +
  +    member private x.refillTree = 
  +
           let ast = maybe { let! context = x.DocumentContext |> Option.ofNull
                             let! parsedDocument = context.ParsedDocument |> Option.ofNull
                             let! ast = parsedDocument.Ast |> Option.tryCast<ParseAndCheckResults>
  
positive.code:         ast |> Option.iter (fun ast -> 
                     match treeView with
                     | Some(treeView) -> 
                         let treeStore = treeView.Model :?> TreeStore
                         treeStore.Clear()
                         let toplevel = ast.GetNavigationItems()
  
negative.code:                 padTreeView.TextRenderer.Ypad <- 0u
  
                  let treeCol = new TreeViewColumn()
                  treeCol.PackStart(pixRenderer, false)
                  // treeCol.AddAttribute (padTreeView.TextRenderer,"text",1)
                  treeCol.SetCellDataFunc(pixRenderer, new TreeCellDataFunc(setCellIcon))
  