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>.