Здравствуйте, novitk, Вы писали:
N>My goal was to ensure that all use of references should be absolutely safe, with checking performed automatically by the compiler. N>В динамике вопрос безопасных систем типов не стоит.
Вообще-то стоит.
В Лиспе не зря принято проверять аргументы в апишных ф-иях перед подачей аргументов "куда-то дальше", потому что иначе получаем по классике проявление ошибки не там, где она породилась, т.е. получаем невозможность найти источник ошибки и всё равно получаем ошибку исполнения, как ни крути. Другое дело, что нет прохода по памяти...
N>+1. Понимания важности не было. Однако желание решить вроде было, но не было понимания как.
Дык, и сейчас хорошего понимания нет.
Повторюсь, в идеале требуется обеспечить валидность любой ссылки, а не только notnull, и твоё процитированное оставленное в первой строчке повторяет эту мысль.
(Твой монадический maybe тут полезен лишь в узком классе структур данных, где null является частью семантики, например, в связанных списках).