Just to play the devils' advocate, what happens if you want to represent the absence of having a value? that is, the Optional is not None (because it hasn't been computed yet).
Special. Hell.
(Actually that sounds like a Future<Optional<T>> or something.)
If you create a null reference to an Optional in any code base I have to deal with I will hunt you down and hurt you.