anchor.diff:                              {app_name(), app_vsn(), app_type() | incl_apps()} |
                               {app_name(), app_vsn(), app_type(), incl_apps()}.
   
  --type application_constraint() :: rcl_depsolver:constraint() | string() | binary().
  +-type application_constraint() :: rcl_depsolver:raw_constraint() | string() | binary().
   -type application_goal() :: application_constraint()
                             | {application_constraint(), app_type() | incl_apps()}
                             | {application_constraint(), app_type(), incl_apps() | none}.
  
positive.code:     rcl_topo:format_error(E);
  format_error({failed_to_parse, Con}) ->
      io_lib:format("Failed to parse constraint ~p", [Con]);
  format_error({invalid_constraint, Con}) ->
      io_lib:format("Invalid constraint specified ~p", [Con]);
  format_error({not_realized, Name, Vsn}) ->
      io_lib:format("Unable to produce metadata release: ~p-~s has not been realized",
  
negative.code: parse_goal0(_, E = {error, _}) ->
      E;
  parse_goal0(Constraint, _) ->
      ?RCL_ERROR({invalid_constraint, 1, Constraint}).
  
  parse_goal1(Release = #release_t{annotations=Annots,  goals=Goals},
              Constraint, NewAnnots) ->
  