I've written a version of a queue which can run async closures with n
amount of parallelization here: playgrounds/TaskQueue.swift at main · gshahbazian/playgrounds · GitHub
Initializing with TaskQueue(concurrency: 1)
provides FIFO execution.
Would love to get some feedback on this implementation : )