70 if constexpr (std::is_invocable_v<Fn, Args...>) {
71 if constexpr (std::is_void_v<Ret>) {
72 std::invoke(std::forward<Fn>(fn), std::forward<Args>(args)...);
75 return std::optional<Ret>(
76 std::invoke(std::forward<Fn>(fn), std::forward<Args>(args)...));