Swift’s statically-checked actor-confinement concepts like @MainActor are great, but there’s no way to do generic actor confinement (e.g. no analog to Rust’s generic lifetime parameters).
Despite being a very niche requirement, its absence is still very much a wart: there’s a lot of optimizations and simplifications you can make when you know a type will be isolated to a single actor, and it’s unfortunate the only way to take advantage of those is to “lock in” to a specific choice of global actor.
For a concrete example, refer to this brief on COW types, transparent caching, and how they interact with strict concurrency.