Иными словами, какую проблему вы решаете, вводя такую абстракцию
проблему композиции. допустим, мы пишем код инициализации приложения из 20 подмодулей. Допустим, 10 подмодулей у нас грязные, они возвращают F[A], а вторые 10 - аллоцируют системные ресурсы и возвращают Resource[F, A]. И вот их надо свести в один фор.