variant(const variant& other) : type_(-1) { variant_assign_helper<variant> helper{*this}; other.apply(helper); }