This as a side effect will make it possible to remove the result<void> specialization, and will obviate the need for a result<T&> specialization.
void will need to be replaced in variant_base with variant2::void_, and T& - with either std::reference_wrapper<T> or variant2::detail::refwrap<T>.
This as a side effect will make it possible to remove the
result<void>specialization, and will obviate the need for aresult<T&>specialization.voidwill need to be replaced invariant_basewithvariant2::void_, andT&- with eitherstd::reference_wrapper<T>orvariant2::detail::refwrap<T>.