I've given concurrent.futures.ThreadPoolExecutor
a bunch of tasks, and I want to wait until they're all completed before proceeding with the flow. How can I do that, without having to save all the futures and call wait
on them? (I want an action on the executor.)