template<std::ranges::input_range T>
consteval auto mergeValuesSz(T rg, auto... vals)
{ // create compile-time vector from passed range:
std::vector<std::ranges::range_value_t<T>> v{std::ranges::begin(rg),
std::ranges::end(rg)};
(... , v.push_back(vals)); // merge all passed parameters
std::ranges::sort(v); // sort all elements
// return extended collection as array and its size:
constexpr auto maxSz = std::ranges::size(rg) + sizeof...(vals);
std::array<std::ranges::range_value_t<T>, maxSz> arr{};
auto res = std::ranges::unique_copy(v, arr.begin());
return std::pair{arr, res.out - arr.begin()};
}