22 General utilities library [utilities]
template<class F, class... Args>
  constexpr invoke_result_t<F, Args...> invoke(F&& f, Args&&... args)
    noexcept(is_nothrow_invocable_v<F, Args...>);
Constraints: 
is_invocable_v<F, Args...> is 
true. Returns: 
INVOKE(std::forward<F>(f), std::forward<Args>(args)...) (
[func.require])
. template<class R, class F, class... Args>
  constexpr R invoke_r(F&& f, Args&&... args)
    noexcept(is_nothrow_invocable_r_v<R, F, Args...>);
Constraints: 
is_invocable_r_v<R, F, Args...> is 
true. Returns: 
INVOKE<R>(std::forward<F>(f), std::forward<Args>(args)...) (
[func.require])
.