It is not false.
W. Brian Gourlie

I don’t see how your program crashing is “having handled all possibilities of present and not-present values”. If you allow the case of your program crashing as a sufficient condition for all cases being handled, then… in Java, all cases are handled as well. That makes your whole argument a pretty moot point.

Which means you didn’t seem to get my point: the type system doesn’t enforce that the programmer handles all cases in a useful way that doesn’t break your whole program and makes your airplane crash. That’s a problem of “totality”.

Java just offers a larger surface for messing up, as I’ve described. Your conclusion still remains wrong:

The option type is implemented in such a way that the programmer must handle the possibility of a present and non-present value.

Again: not true. The compiler converts it to an exception that will probably have devastating effects for the control-flow of your program. As such, the programmer is NOT forced to handle all possibilities.

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.