Эта слабость на самом деле ничем не отличается от всех типов в динамических языках. Вы должны запустить его, чтобы узнать, что в нем. Варианты не очень отличаются в этом отношении.
Параметры - это больше, чем просто статическая аннотация, в которой значение может присутствовать или не присутствовать. У них также есть операции, связанные с ними. Цепочки сопоставленных операций над опциями - это одна очень полезная функция, которая не позволяет вам проверять ошибки после каждого шага в цепочке.
Даже если вы только сразу извлечете значение, он все равно заставит программиста проверить его Nothing
в первый раз, когда он запустился и потерпел неудачу. Без опции это подталкивание будет иметь место только в том случае, если оно содержит null
первый раз, когда вы запустили его. Многие нулевой указатель разыменования упрямо ждал , пока продукт не был в поле.