Promises, retry, concurrency limits and async generators, written from scratch and tested with real awaits.