I've been thinking a lot about this proposal, exclusively because of isolation control feature. I find myself kind of torn here. Because on the one hand, I would really appreciate the ability to glance at the top of a file to better understand what mode I'm in.
But on the other hand, the default main actor mode can still be challenging to use. There are some lingering inference behaviors that, while are not new, come up much more frequently. I'm particularly concerned, given how subtle these areas are, that it will be difficult to anticipate further complication with this new mechanism.
The mode can greatly increase the risk of using incorrectly-annotated APIs when in 6 language mode due to dynamic actor isolation assertions.
I'm also pretty sure there are still some situations where macros are challenging without the mode being visible on the code generation side.
And these kinds of problems are more likely to affect those that are the least-well equipped to understand and deal with them.
I've also been thinking through how I might advise someone on choosing between module-based and file-based isolation control, and I'm finding it non-trivial. Given all this, I think it might make sense to proceed a little more conservatively here. Try out the file-based defaults as a general tool, but hold off on isolation control specifically for now.