template<typename T>
requires { typename std::tuple_size<std::remove_cvref_t<T>>::type; } &&
(std::tuple_size_v<std::remove_cvref_t<T>> >= 2) &&
(!std::is_base_of_v<
std::pair<std::tuple_element_t<0, std::remove_cvref_t<T>>,
std::tuple_element_t<1, std::remove_cvref_t<T>>>,
std::remove_cvref_t<T>>)