Если я получу, например, Stream[Id, A]
, я смогу translate
эффект Pure
с тривиальным Id ~> Pure
.
Однако, если я закончил с потокомдругой строгий тип эффекта, например Stream[Option, A]
, как я могу преобразовать это в Option[Vector[A]]
(или что-то еще)?Наилучший способ, который я нашел до сих пор, - это преобразовать поток в другой тип, который имеет , имеет экземпляр Sync
, запустить поток, но тогда преобразовать его обратно как Sync
не просто.допускает все Throwable
сбои, тогда как Option
, естественно, допускает только None
.Какой лучший способ приблизиться к этому?