Is the purpose of Variant2 to only implement std::variant or to have new interfaces? Is this the right place to discuss the possibility of a shared/recursive variant? I don't have any statistics, but I think mixing shared_ptr and variants is a common pattern to have recursive variants? Could there be a shared_variant that takes some of the boilerplate away and adds more operations (e.g. shared_from_this, upcasts, ...)?
Is the purpose of Variant2 to only implement
std::variantor to have new interfaces? Is this the right place to discuss the possibility of a shared/recursive variant? I don't have any statistics, but I think mixing shared_ptr and variants is a common pattern to have recursive variants? Could there be a shared_variant that takes some of the boilerplate away and adds more operations (e.g. shared_from_this, upcasts, ...)?