``` val m: MonoK<IO<ResultSet>> = ... ...
# arrow
p
Copy code
val m: MonoK<IO<ResultSet>> = ...

m.flatMap { io ->
  MonoK.async { emitter ->
    val cancelIO = io.unsafeRunAsyncCancelable { 
       it.fold(emitter::onError, { emitter.onNext(it); emitter.onComplete() })
    }
    emitter.setDisposable { cancelIO() }
  }
}