``` val (resultKind, disposable) = ...
# arrow
c
Copy code
val (resultKind, disposable) =
                fxCancellable {
                    getAllCharactersCase.execute()
                }
        myDisposable = disposable
        val result: Try<CharacterList> = ...
        result.fold(
            ifFailure = {
                println(it.message)
            },
            ifSuccess = {
                displayResult(it)
            }
        )
r
you don't need Try
can't just continue composing `IO`s ?
Use cases should return
IO
not
Try
Try can't suspend side effects and side effects should be deferred until the edge
also you should never have to call
unsafeRun*
at any point but at the edge when the entire IO program runs.
also you can inside fx blocks swith to the UI thread in order to update the UI
c
Ok, thanks for the corrections 🙂