anchor.diff:                                   false ->
                                        {SeenAcc1, StateAcc1} = maybe_lock(Profile, AppInfo, SeenAcc, StateAcc, Level),
                                        {SrcDepsAcc1, PkgDepsAcc1, SrcAppsAcc1, StateAcc2, LocksAcc1} =
  -                                         case Update of
  +                                         case Upgrade of
                                                true ->
  -                                             %{true, UpdateName, UpdateLevel} ->
  -                                                 handle_update(AppInfo
  +                                             %{true, UpgradeName, UpgradeLevel} ->
  +                                                 handle_upgrade(AppInfo
                                                                 ,SrcDepsAcc
                                                                 ,PkgDepsAcc
                                                                 ,SrcAppsAcc
  
positive.code:                                            [warn_skip_pkg(Pkg) || Pkg <- Discarded],
                                             Solution
                                     end,
                                 update_pkg_deps(Profile, S, Packages, Update, Seen, State1)
                         end,
  
      AllDeps = lists:ukeymerge(2
  
negative.code: 
      %% Fetch transitive src deps
      {State1, SrcApps, PkgDeps1, Seen} =
          update_src_deps(Profile, 0, SrcDeps, PkgDeps, [], State, Upgrade, sets:new(), Locks),
  
      {Solved, State2} = case PkgDeps1 of
                             [] -> %% No pkg deps
  