anchor.diff:              return { model with Status = Some <| MainStatus.sort field desc }
           }
   
  -    let initModel (config: Config) (fsReader: IFileSystemReader) startOptions isFirstInstance model =
  -        let defaultPath = config.DefaultPath |> Path.Parse |? Path.Root
  -        let startPath =
  -            startOptions.StartPath |? (
  -                match config.StartPath with
  -                | RestorePrevious -> config.PreviousPath
  -                | DefaultPath -> config.DefaultPath
  -            )
  -        { loadConfig fsReader config model with
  -            Location =
  -                match config.StartPath with
  -                | RestorePrevious -> defaultPath
  -                | DefaultPath -> config.PreviousPath |> Path.Parse |? defaultPath
  -            WindowLocation =
  -                startOptions.StartLocation |> Option.defaultWith (fun () ->
  -                    if isFirstInstance then (config.Window.Left, config.Window.Top)
  -                    else (config.Window.Left + 30, config.Window.Top + 30))
  -            WindowSize = startOptions.StartSize |? (config.Window.Width, config.Window.Height)
  -        } |> Navigation.openUserPath fsReader startPath
  +        let toggleHidden fsReader model = result {
  +            let! model =
  +                { model with ShowHidden = not model.ShowHidden }
  +                |> openPath fsReader model.Location (SelectName model.SelectedNode.Name)
  +            return { model with Status = Some <| MainStatus.toggleHidden model.ShowHidden }
  +        }
   
       module Cursor =
           let private moveCursorToNext predicate reverse model =
  
positive.code:             })
  
      member this.Dispatcher = function
          | KeyPress (chord, handler) -> Async <| this.KeyPress chord handler.Handle
          | CursorUp -> Sync <| MainLogic.toMutation (fun m -> m.WithCursorRel -1)
          | CursorUpHalfPage -> Sync <| MainLogic.toMutation (fun m -> m.WithCursorRel -m.HalfPageSize)
          | CursorDown -> Sync <| MainLogic.toMutation (fun m -> m.WithCursorRel 1)
  
negative.code:                     None
          match event with
          | Some e ->
              match dispatcher e with
              | Sync handler -> handler model
              | Async handler -> do! handler model
          | None -> ()
      }
  