По-моему, вы правы. Если вам нужна такая функциональность, просто используйте null, сделайте проверку null и ответьте на ваше нулевое состояние.
Лично я действительно нахожу это полезным, когда «пустое» значение имеет смысл, и вы можете работать с этим, следовательно, избегая нулевых проверок. Если вам нужна семантика нулевого значения (или недопустимого значения), тогда имеет значение null (и будет выдавать исключения, если вы забудете проверить его, вместо того, чтобы молча провалиться).