Optionals without this feature/restriction are actually the same as a null.
if(optional_value.has_value())
if(value != NULL)
Both of the above checks are STILL required or it's an error. Optionals only propagate the null to another method call. There has to be exhaustive pattern matching for this feature to truly shine.