What is `std::is_invocable_r_v<int, F, double>` for the callable below, and what does the `_r` form additionally check?auto F = [](double d) -> long { return static_cast<long>(d); };