anchor.diff:          keyEvent |> Observable.choose (fun evt ->
               if evt.Key = key then
                   evt.Handled <- true
  -                Some (resultFunc())
  +                Some <| resultFunc()
               else
                   None)
   
  
positive.code:         model.OnPropertyChanged <@ model.Path @> displayPath
          model.OnPropertyChanged <@ model.PathFormat @> displayPath
  
          window.BufferLabel.Content <- ""
          model.OnPropertyChanged <@ model.ItemBuffer @> (fun buffer ->
              let text = MainView.BufferStatus buffer
              window.BufferLabel.Content <- text
              window.BufferLabel.Visibility <- if text = "" then Visibility.Hidden else Visibility.Visible)
  
          model.OnPropertyChanged <@ model.CommandTextSelection @> (fun (start, len) ->
              window.CommandBox.Select(start, len))
  
          // bind to the command input mode to update the UI
          model.OnPropertyChanged <@ model.CommandInputMode @> (fun mode ->
              this.CommandInputModeChanged mode model.SelectedNode
              if mode.IsNone then model.CommandTextSelection <- (999, 0))
  
          // update controls to display status
          this.UpdateStatus model.Status
          model.OnPropertyChanged <@ model.Status @> this.UpdateStatus
  
          // bind tab to switching focus
          window.PathBox.PreviewKeyDown.Add (onKey Key.Tab window.NodeGrid.Focus)
          window.NodeGrid.PreviewKeyDown.Add (onKey Key.Tab (fun () ->
              window.PathBox.SelectAll()
              window.PathBox.Focus()))
  
          // on selection change, keep selected node in view, make sure node list is focused
          window.NodeGrid.SelectionChanged.Add (fun _ ->
  
negative.code:                 | None -> ())
  
          // escape and lost focus resets the input mode
          window.PreviewKeyDown.Add <| onKey Key.Escape (fun () ->
              model.Status <- None
              model.CommandInputMode <- None)
          window.CommandBox.LostFocus.Add (fun _ -> model.CommandInputMode <- None)
  
          // make sure selected item gets set to the cursor
  