As any type can be thrown as an exception, should `expected<T,E>` throw `E` instead of `bad_expected_access<E>`? If yes, should `optional<T>` throw `nullopt_t` to be coherent?
As any type can be thrown as an exception, should
expected<T,E>throwEinstead ofbad_expected_access<E>?If yes, should
optional<T>thrownullopt_tto be coherent?