I’m not sure if I’m even correct, but I have a way I’ve been thinking about this that I find helpful. Maybe this will help, or maybe someone can correct me, either would be great
When Swift introduced Optional, this was great, but the real big benefit is that the existence of Optional also created the concept of non-optional values, which is where the real good stuff is. And eventually we learned to only reach for Optional where it’s truly needed.
Actors and isolation are (potentially) great, but the real good stuff is that they create the concept of nonisolated code. And that’s the real good stuff because nonisolated code is stuff that is provably safe to execute concurrently by the system if it so chooses.
I could be wrong, but I think what this means is that if new platforms or devices appear with larger concurrent pools, audited code gets faster automatically. In a provably safe way.
So wrt the original topic, I’m in the “only reach for isolation and actors when needed” camp for now. Mostly thanks to the understanding I’ve gained from @mattie’s great recent work. (And hopefully this post is not incorrect; if so that’s all on me )