Я бегу во многих местах, где у меня есть что-то вроде
def f(s: String): Option[Long] = ...
def g(l: Long): IO[Option[Wibble]] = ...
val a: IO[Option[Wibble]] = f(param).flatMap(g).sequence.map(_.join)
. Наблюдение .sequence.map (_. join)
, повторяющееся снова и снова, начинает меня беспокоить. Есть ли более идиоматический способ сделать то же самое?