Я пробовал простые трансформеры монад, где у меня есть понимание, включающее M[F[A]]
, где M
и F
- монады. Как я могу заставить M[F[A]]
и M[S[A]]
работать вместе в for comp, если S
это другая монада?
Например:
val a: Future[List[Int]] = ...
val b: Future[Option[Int]] = ...
a
требует ListT[Future, Int]
, а b
требует OptionT[Future, Int]
, но они не составляют, мне нужно использовать другой преобразователь? Будет ли это зависеть от того, в каком порядке я их использую в for comp?