Thank you. I thought so. It is just that I am fairly new to Swift style closures. After recently having written some asynchronous operations with URLSession, I noticed that some of these operations have their own return variables such as (result, data, error). I guess in the async thread closure that you depict, you can really access any of your apps variables and data structures. I like your example use of .barrier, too.