Does that prevent the usage shown in the blog post?
std::optional<unsigned> opt = firstEvenNumberIn(text);
if (opt) std::optional<unsigned> opt = firstEvenNumberIn(text);
if (opt)