[Second review] SE-0395: Observability

Partly unrelated to the actual review. The async part was removed from this proposal and there's currently no support for actors as far as I can tell. Are there any plans to push this topic forward in the very near future so that it can potentially land in the new OSs?

Without knowing if true or not, but the SwiftData framework seems to be incomplete in some ways. There's a ModelActor protocol, but there doesn't seem to any other async parts. For example, fetching seems to only be synchronous and run on the main thread only. If the data set is very large and the query somewhat complex, then I can imagine that it will block the main thread for too long. I can only guess that it's partly related to @Observable macro not providing any support for async stuff initially.

Another personal example is that I would like to convert an actor with @MainActor isolated stored properties to a @Model (which is also @Observable).

actor A: ObservableObject, Identifiable {
  var actorIsolatedString: String = "foo"

  @MainActor
  var globalActorIsolatedString: String = "bar"
}

The example I shared is totally legal and safe. The id is nonisolated by default and the rest is explained here by John:

TLDR; I would like to have observable actors (as models) which also have other observable stored properties that are isolated by global actors.