One non-blocking try. True: finished, op.result is set. False: it must wait for readiness (op.wants_write says which).
op.result
op.wants_write
poll_attempt :: (op: *Op, ready := false) -> bool