anchor.diff:  // NOTES: This is not meant to demonstrate the most concise or best way to
   // program with WPF and choice streams.  This example avoids data binding and
   // some builtin WPF controls and overuses choice streams to show some more
  -// choice stream usage patterns.  WPF is fundamentally an imperative UI
  +// choice stream usage patterns.  WPF is a fundamentally imperative GUI
   // framework and this example does not try to rewrite WPF as a more declarative
   // framework.  Some of the simple techniques used in this example, such using an
   // immutable map as the model and removing and adding all controls to a panel
  
positive.code:                return! Stream.MVar.updateFun modelMVar << updateItem id <| fun item ->
                         {item with Header = header} })
  
          Stream.merge
            (Stream.ofObservableOnMain control.MouseEnter |> Stream.mapConst +1)
            (Stream.ofObservableOnMain control.MouseLeave |> Stream.mapConst -1)
  
negative.code:            control.Remove.Visibility <-
               if 0 < n then Visibility.Visible else Visibility.Hidden })
  
          // This removes the item from the model if the Remove button is clicked.
          Stream.ofObservableOnMain control.Remove.Click
          |> Stream.subscribeJob (fun _ ->
             Stream.MVar.updateFun modelMVar <| Map.remove id)
  
          control
  
        // This renders the visible list of ToDo items.  All controls are
        // recreated.  Consider the use of `keepPreceding1`.  In this example it
        // doesn't really make any difference, but if it would be possible to make
        // updates to the model faster than it would be possible to render the
        // GUI, then it would basically avoid queuing GUI updates and make sure
        // that, once finally updated, the GUI would show the latest state.
        // Contrast this with Rx style throttling using some arbitrary millisecond
        // timeout.
        Stream.MVar.tap modelMVar
        |> Stream.combineLatest filter
        |> Stream.keepPreceding1
  