Привет.
Вот такой философский вопрос, как в схеме лучше справиться с паттерном, когда нужно сделать много императивных действий, и от успеха какого-то из них в середине зависит то, имеет ли смысл делать все следующие? Если делать в лоб, получится что-то вроде
(действие1)
(действие2)
(if (действие3)
(begin
(действие4)
(действие5)
(действие6))
(begin
(displayln "ащипка")
#f))
, что довольно уродливо и вообще напоминает паскаль обилием бегинов 😅
Засунуть действия 4, 5 и 6 в отдельную функцию может быть хорошей идеей, но, предположим, что все эти действия зависят от массы локальных переменных, которые протаскивать аргументами в эту функцию не хочется.