I sometimes come across situations like this:

writeln_or_whatever(person ? person.name : "");

(This is a case of "means something".)

Using `person?.name` is a bit shorter and DRYer. But it would be more useful if I could specify the default value it returns. With an explicit `maybe` this would be possible:

person.maybe("<n/a>").name;

I am also on the opinion that chaining on nullable objects
encourages sloppy code and should therefore be avoided. Because
the null case should often be handled. Chaining skips handling
the null case. Thus this syntaxic sugar is a bad idea.

The null case _is_ handled, because you're explicitly specifying "maybe()". I can agree that it might lead to problems if it happens automatically and you don't see what's going on, but that isn't the case here.

Reply via email to