anchor.diff:                  | RestorePrevious -> config.PreviousPath
                   | DefaultPath -> config.DefaultPath)
           model.Path <- defaultPath
  -        model.WindowLocation <- startupOptions.Location |> Option.defaultValue (config.Window.Left, config.Window.Top)
  +        model.WindowLocation <-
  +            startupOptions.Location
  +            |> Option.defaultWith (fun () ->
  +                if isFirstInstance then (config.Window.Left, config.Window.Top)
  +                else (config.Window.Left + 30, config.Window.Top + 30))
           model.WindowSize <- startupOptions.Size |> Option.defaultValue (config.Window.Width, config.Window.Height)
           openUserPath startupPath model
   
  
positive.code:     let mutable taskRunning = false
  
      interface IController<MainEvents, MainModel> with
          member this.InitModel model = MainLogic.initModel config fileSys.GetNode this.OpenUserPath startupOptions model
          member this.Dispatcher = this.LockingDispatcher
  
      member this.LockingDispatcher evt : EventHandler<MainModel> =
  
negative.code: open Utility
  
  module MainLogic =
      let initModel (config: Config) getNode openUserPath startupOptions isFirstInstance (model: MainModel) =
          config.Changed.Add (fun _ ->
              model.YankRegister <- config.YankRegister
                                    |> Option.bind (fun (path, action) ->
  