anchor.diff:  
         let itemsAndCtrls =
           Stream.Var.tap itemsVar
  -        |> Stream.mapJob (fun items -> onMain {
  +        |> Stream.scanFromJob [] (fun oldItemsAndCtrls newItems -> onMain {
              let newCtrl item =
                let ctrl = ToDo.UI.ItemControl ()
   
  
positive.code: open Hopac.Extensions
  
  open System
  open System.Threading
  open System.Windows
  open System.Windows.Controls
  
negative.code: 
               ctrl
  
             let itemToCtrl = Dictionary<_, _> ()
             oldItemsAndCtrls |> List.iter (fun (item, ctrl) -> itemToCtrl.[item] <- ctrl)
  
             return newItems
                    |> List.map (fun item ->
                       (item,
                        match itemToCtrl.TryGetValue item with
                         | (false, _) -> newCtrl item
                         | (_, ctrl) -> ctrl)) })
  
        let filter =
          let filterOn (button: Button) pred =
  