Предположим, у меня есть следующие настройки:
def foo: Either[Error, A] = ???
def bar: EitherT[Future, Error, B] = ???
case class Baz(a: A, b: B)
Как я могу использовать для понимания, чтобы создать экземпляр класса Baz
? Я пробовал с:
val res = for {
a <- foo
b <- bar
} yield Baz(a, b)
но результат имеет тип Either[Error, Nothing]
. Я не знаю, какой правильный тип возврата в этом случае, но, очевидно, я не хочу Nothing
...
Как правильно комбинировать Either
и EitherT
для понимания?