anchor.diff:                  Res = all_pkgs(DepGraph, NewVisited, DepPkgs ++ OtherPkgs, UConstraints, PathInd),
                   Res
   			end,
  -			try
   			  case constrained_package_versions(DepGraph, Pkg, Constraints) of
   				[] ->
   				  {fail, [{Visited, Constraints}]};
  
positive.code:                                           [vsn()].
  constrained_package_versions(State, PkgName, PkgConstraints) ->
      Versions = get_versions(State, PkgName),
      [Vsn || Vsn <- Versions, valid_version(PkgName, Vsn, PkgConstraints)].
  
  %% Given a list of constraints filter said list such that only fail (for things
  %% that do not match a package and pkg are returned. Since at the end only pkg()
  
negative.code: -spec valid_version(pkg_name(),vsn(),constraints()) -> boolean().
  valid_version(PkgName, Vsn, PkgConstraints) ->
    Constraints = get_constraints(PkgConstraints, PkgName),
  	  case lists:all(fun ({L, _ConstraintSrc}) ->
  			is_version_within_constraint(Vsn, L)
  		end,
  		Constraints) of
  	false ->
  	  lists:any(fun ({L, _}) ->
  			  is_version_missing(Vsn, L)
  		  end,
  		  Constraints);
  	true ->
  	  true
  	end.
  
  %% @doc
  