template<typename T, typename... F>
requires((sizeof...(F) == 0) || (sizeof...(F) == 1))
using max_t =
decltype(
kumi::max(std::declval<T>(), std::declval<F>()...));
template<typename T, typename... F>
requires((sizeof...(F) == 0) || (sizeof...(F) == 1))
struct max
{
using type = kumi::result::max_t<T, F...>;
};