I don\'t understand the reasoning for the inclusion of std::nullopt_t in the standard. Does it exist strictly for convenience, or is it required in some niche c
nullopt_t is the type of nullopt which indicates disengaged optional state. nullopt allows disambiguating overloads such as (example from the optional proposal):
void run(complex v);
void run(optional v);
run(nullopt); // pick the second overload
run({}); // ambiguous