anchor.diff:  open Utility
   
   module MainLogic =
  -    let initModel (config: Config) getNode openUserPath startupOptions (model: MainModel) =
  +    let initModel (config: Config) getNode openUserPath startupOptions isFirstInstance (model: MainModel) =
           config.Changed.Add (fun _ ->
               model.YankRegister <- config.YankRegister
                                     |> Option.bind (fun (path, action) ->
  
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:                 | RestorePrevious -> config.PreviousPath
                  | DefaultPath -> config.DefaultPath)
          model.Path <- defaultPath
          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
  
  