anchor.diff:                              do! runAsync (fun () -> fileSysAction node.Path newPath)
                               this.OpenPath model.Path (SelectName newName) model
                               model.ItemBuffer <- None
  -                            model |> this.PerformedAction action
  +                            model |> MainHandler.performedAction action
                           with | ex -> model |> MainStatus.setActionExceptionStatus action ex
           | None -> ()
       }
  
positive.code:                     |> Option.coalesce model.Cursor
                  | KeepSelect -> keepCursor)
              model.Status <- None
          with | ex -> model.Status <- Some <| StatusType.fromExn "open path" ex
  
      let back openPath (model: MainModel) =
          match model.BackStack with
  
negative.code:             model.Status <- MainStatus.runningAction action model.PathFormat
              do! runAsync (fun () -> fileSysFunc node.Path)
              this.Refresh model
              model |> MainHandler.performedAction action
          with | ex -> model |> MainStatus.setActionExceptionStatus action ex
      }
  
      member this.Undo model = async {
          match model.UndoStack with
  