Потом еще возникает идея, что эффекты тоже бывают двух типов - недерминизмы/io-read (запросить из базы/прочитать prefs) - сайд-эффекты/io-write (удалить из базы)
И тогда возникает идея заменить кучу разных io-read эффектов на один co-effect
Просто в клине она у тебя зависит от интерфейсов, предоставляющих способы потрындеть с БД / сетью, и с ними что-то надо делать для тестов, а в ФП БЛ чистая, в неё снаружи при вызове данные, полученные из сети, передаются.