[Concurrency] Actors & actor isolation

(hopped from the other thread, if you know what I mean :smirk:)

The code in question:

@MainActor
func foo() async {
  let a = await task1()
  let b = await task2()
}

Is there a case where it wouldn't be optimized? Since we could hop directy from

Task1Actor -> Task2Actor

instead of

Task1Actor -> MainActor -> Task2Actor

There will definitely be some changes in ordering, but I don't yet see where that could be a problem.