Вообще, последний раз когда я пытался что-то с эффектами придумать применительно к real world software, главная проблема, с которой я столкнулся — это то, что чистый код переходится переписывать в effectful-стиле чтобы получить стриминг
Так что на данный момент я считаю, что лучшая система эффектов — это ее отсутствие (то есть просто transformers без всякого полиморфизма по монаде), но чтобы это делать в ИНДУСТРИАЛЬНОМ так сказать программировании, надо починить lazy IO