я пробовал писать на эскелето несколько лет назад, но в какой-то момент остановился, когда сырые запросы стали достигать 70+ строк, а вьюхи лень было прикручивать
например, в типах. throw можно использовать и в других контекстах
Комментарий SPJ [1] > The whole point of throwIO is that it consumes a state token, and that's what sequences it relative to earlier producers of the state token. И документация [2] говорят иначе.
Реализация различается лишь в том, что throwIO обернут в IO конструктор.
Т.е. если аргументом throw передать что-то, что может само исключение бросить, оно может быть вычислено до первого принта и на экран не выведется ничего?