in fatal/container/legacy_variant.h [2010:2022]
result_type visit_def(
variant<TStoragePolicy, Args...> &&variant,
visitor_type &&visitor,
result_type defaultValue,
UArgs &&...args
) {
auto wrapper = wrap_visitor<result_type>(visitor);
variant.visit(wrapper, std::forward<UArgs>(args)...);
return wrapper.has_value()
? std::move(wrapper.value())
: defaultValue;
}