``` scanner.startScanning() .flatM...
# arrow
p
Copy code
scanner.startScanning()
                .flatMap { item ->
                     IO { Timber.d("Scanned item: $item") }.map {  item }
                }.flatMap {
                    scanner.setStatusText(it.data)
                }
                .handleErrorWith { err ->
                  IO { Timber.e(err) }
                }.unsafeRunAsync { }
which means you can convert to
fx
Copy code
IO.fx {
  val (item) = scanner.startScanning()
  Timber.d("Scanned item: $item")
  !scanner.setStatusText(item.data)
}.handleErrorWith { err ->
  IO { Timber.e(err) }
}.unsafeRunAsync { }