anchor.diff:  
   fail_test() ->
       Dom0 = add_packages(new_graph(), [{app1, [{"0.1", [{app2, "0.2"},
  -                                                {app3, "0.2", gte}]},
  -                                       {"0.2", []},
  -                                       {"0.3", []}]},
  -                               {app2, [{"0.1", []},
  -                                       {"0.2",[{app3, "0.1"}]},
  -                                       {"0.3", []}]},
  -                               {app3, [{"0.1", []},
  -                                       {"0.2", []},
  -                                       {"0.3", []}]}]),
  +                                                       {app3, "0.2", gte}]},
  +                                              {"0.2", []},
  +                                              {"0.3", []}]},
  +                                      {app2, [{"0.1", []},
  +                                              {"0.2",[{app3, "0.1"}]},
  +                                              {"0.3", []}]},
  +                                      {app3, [{"0.1", []},
  +                                              {"0.2", []},
  +                                              {"0.3", []}]}]),
   
   
       ?assertMatch({error, {unable_to_solve, {app1,{0,1}},
  
positive.code:     lists_some(F, Args, false).
  
  -spec lists_some(evaluator(A, Return, FailIndicator), [A], FailIndicator) ->
                         Return | FailIndicator.
  lists_some(_, [], False) ->
      False;
  lists_some(F, [H | T], False) ->
  
negative.code:     %% and need to be fixed
      PkgConstraints = [fix_con(PkgConstraint) ||
                           PkgConstraint <- RawPkgConstraints],
      Info2 =
          case gb_trees:lookup(Pkg, Dom0) of
              {value, Info0} ->
                  case lists:keytake(Vsn, 1, Info0) of
  