Should You Put optional<T> in a Container?
https://foonathan.net/blog/2018/04/09/optional-in-container.html
What’s the difference between an `std::optional<T>` and a `std::variant<T, std::monostate>`?
https://foonathan.net/blog/2018/04/09/optional-in-container.html
What’s the difference between an `std::optional<T>` and a `std::variant<T, std::monostate>`?