anchor.diff:      member this.Undo model = async {
           match model.UndoStack with
           | action :: rest ->
  -            let refreshIfOnPath (path: Path) =
  -                if model.Path = path.Parent then
  -                    this.OpenPath model.Path KeepSelect model
               match action with
                   | CreatedItem node ->
                       try
                           if fileSys.IsEmpty node.Path then
                               model.Status <- Some <| MainStatus.undoingCreate node
                               do! runAsync (fun () -> fileSys.Delete node.Path)
  -                            refreshIfOnPath node.Path
  +                            if model.Path = node.Path.Parent then
  +                                this.Refresh model
                           else
                               model.Status <- Some <| MainStatus.cannotUndoNonEmptyCreated node
                       with | ex ->
  
positive.code:                             else fileSys.Recycle
                          model.Status <- Some <| MainStatus.undoingCopy node isDeletionPermanent
                          do! runAsync (fun () -> fileSysFunc newPath)
                          refreshIfOnPath newPath
                      with | ex ->
                          let action = DeletedItem ({ node with Path = newPath }, isDeletionPermanent)
                          model |> MainStatus.setActionExceptionStatus action ex
  
negative.code:         | OpenParent -> Sync this.ParentPath
          | Back -> Sync this.Back
          | Forward -> Sync this.Forward
          | Refresh -> Sync this.Refresh
          | Undo -> Async this.Undo
          | Redo -> Async this.Redo
          | StartInput inputMode -> Sync (this.StartInput inputMode)
  