Здравствуйте, Mamut, Вы писали:
M>В итоге, любой функции, даже написанной через три месяца другим человеком четырьмя уровнями выше, рпидется столкнуться с тем, что возвращается не нужное значение, а никому не нужная обертка Result<список любых типов любой сложности, внутренности или вложенности>?
Ну так пусть функция возвращает нужное значение, в чем проблема? Ах, внутри файл читается? Тогда будьте добры отреагировать на потенциальный сбой.
Не хотите? Используйте другие языки, никто не против.
Лично мне нравится подход Rust/Swift.
M>Чем это хорошо? А ничем.
Это хорошо тем, что все происходит _явно_ и видно в коде.
M>В общем, do not program defensively.
А, например, МакКоннелл другого мнения. И я тоже. Впрочем, как эрлангисты пишут, мне все равно.