Remove some more code duplication in std::optional