I was thinking. If oprerator==(T) can be unsafe, do we really need it? std::optional has it, however we're not forced to copy std; dereferencing opt is just one more symbol to type and it will behave like real pointer. Иван Комиссаров