The problem of standard Monad bindings is that you don’t have error handling or the ability to defer computations. They will evaluate eagerly unless you have a deferring point in the call stack prior to reaching them. You will learn about that on further lessons. Learn about:
- How to catch errors and operate with the result of the binding for both cases (error vs success).
- How to force the bind blocking calls inside the bindings to run on given coroutine contexts (like the UI one).
- How to force the bind blocking calls to be deferred and also run on given coroutine contexts.
- How to create cancelable bindings.