You may think why this exists, what is this for, why not Sindre's microlibs like p-map, p-map-series, p-settle, p-each-series or p-reduce. They do their jobs okey, but in some cases they don't. And that's the my case. I need control over "fast fail" behavior, also known as "settle" or "bail". I need serial and parallel iteration, but parallel with concurrency too. They requires node v4, and uses native Promise constructor. I believe in that we should not use modern things if we don't need them, it is just syntax sugar. This package is written in way that works in node versions below v4 and also you can pass custom Promise constructor through options.Promise if you want.