ты намекаешь, что стоит завернуть все в result и проставить сигнатуры - и все, контроль эффектов?
я не знаю, что такое православный контроль эффектов. Я всего лишь утверждаю, что когда в сигнатуре есть асинк — это удобно, чтоб понять, что функция делает ИО со всеми вытекающими. И если в сигнатуре резалт с нормально описанными доменными ошибками — с этим тоже проще жить, чем выискивать по коду `BusinessLogicException`ы.