Any chance of a retry operation being added? Possibly with a similar feature set to that in the `async` library this one is partly inspired by :)