None -> "You may run, the step may have done nothing or just performed some effects"
Some(Ok) -> "You may run, the step yielded a T that could be transformed or discarded"
Some(Err) -> "You should not run, something unrecoverable happened"
Some(WouldBlock) -> "You may run, but we should all wait until the resource would no longer block"