If you do not break when there is an `Error` in `{ err, data }` tuples from an `AsyncIterator` the loop will run forever