I had read that post and it is helpful. It didn’t get me to the finish line in terms of what I’m looking for but it does help with a piece of this puzzle. Thank you. And thank you @stuchlej for a great discussion on your thread.
I should also note that @lukasa’s comment about the underlying struct was particular insightful: How do closures work (memory management) - #2 by lukasa
This is what I’d like to dig more into. This process of capturing the state. Where does it go? How is it captured? The presence of the optional pointer to AnyObject seems to be abstracting away a lot or black magic.