I have been trying simple Monad Transformers where I have for comprehensions involving
val a: Future[List[Int]] = ...
val b: Future[Option[Int]] = ...
Monad Transformers help you in composing two values of type
In other terms, monad transformers work with
F[G[X]] because they leverage the fact that you know how to compose two
Now, in case of
F[H[X]], even if you state that
Monad instances, you still don't have a general way of composing them.
I'm afraid composing
F[H[X]] has no general solution with monad transformers.