Я бы хотел определить функцию со следующей сигнатурой, используя fs2 Streams, cats EitherT и cats-effect IO.
def list2Stream[A,B,F[_],S](vs: List[A],
f: A => EitherT[IO,S,Stream[IO,B]]
): EitherT[IO,S,Stream[IO,B]] = {
???
}
, который отображает каждое значение из vs в поток значений и собирает все эти значения в новом потоке.
Я пробовал что-то вроде:
vs.map(f).sequence.flatten
, но, похоже, для Stream нет неявного определения.