Согласно cppreference std::get для variant throws std::bad_variant_access если тип, содержащийся в variant, не является ожидаемым. Это означает, что стандартная библиотека должна проверять каждый доступ (libc++).
Каково было обоснование этого решения? Почему это не неопределенное поведение, как и везде в C++? Могу ли я обойти это?