Usage:
```
const asyncFunctions: (() => void)[] = Array(6)
.map((v, i) => (input: string) => new Promise(resolve => {
setTimeout(() => {
const nextInput = `${input}-${i}`
console.log('Resolve', i, input, nextInput)
resolve(nextInput)
}, 1000)
}))
pipeAsync(...asyncFunctions)('Input to the first function')
```
Module