Сами функции для работы с IO ничего не делают, только возвращают функции, которые принимают World. Отсюда требование ссылочной прозрачности полностью сохраняется.
ну только это мало чего дает кроме того что да я знаю что функция помечена как ио
ну только это мало чего дает кроме того что да я знаю что функция помечена как ио
Это даёт как раз все хорошие вещи, которые подразумевается под "чистотой" обычно.
Ты можешь рефакторить такие приложения элементарным образом без включения мозгов вообще, потому что у тебя никаких побочных эффектов при комбинировании этих самых IO не просиходит.