<experimental/ranges/iterator>
template< class F, class... Is > requires Invocable<F, ranges::reference_t<Is>...> struct indirect_result_of<F(Is...)>