std::optional<T>::value_or