My guess is that you can write functions that operate on the `a` so you can have a success with a data structure ready to use without losing the error and waiting states.