Gavin Lambert wrote
It still bothers me a bit that none and nullptr are separate. Do we really need two different ways to spell "nothing"?
I suppose there is a use case for optional <some-pointer-type> which could have distinct states for "no pointer" vs. "null pointer" vs. "valid pointer", but how often do you really need to distinguish the first two states?
I have one such case in one project with optional