Actor memory isolation for "global" state

You make a good case that “global” variables scoped to actors might be a bit weird for folks to grasp.

One thing I’m curious about is where the would the "phase 1" error be in this example I brought up earlier, or even something a tiny bit more complex:

protocol Foo {
  var foo: Int { get }
}
enum Bar: Foo {
  static var staticFoo = 42
  var foo: Int { Self.staticFoo }
}
actor Baz<T: Foo> {
  let t: T
  var foo: Int { t.foo }
}
let baz = Baz<Bar>(t: Bar())

What annotations would I need to provide to make this work?