package wow.doge.mygame.utils import monix.bio.IO import monix.bio.Task import monix.eval.Coeval object IOUtils { def toTask[T](bio: IO[Throwable, T]) = monix.eval.Task.deferAction(implicit s => bio.to[monix.eval.Task]) def toIO[T](task: monix.eval.Task[T]) = IO.deferAction(implicit s => IO.from(task)) def fromCoevalEither[L, R](coeval: Coeval[Either[L, R]]) = coeval.to[Task].hideErrors.rethrow }