Proposed modification to SE-0377: should explicit parameter ownership modifiers suppress implicit copying?

I definitely think this is an improvement. As I mentioned in the other thread, I think that once you're in a mode of thinking about ownership, you want to be thinking about ownership everywhere, and you want the compiler to help enforce those invariants. Using the parameter annotations as a way to infer "ownership mode" is an elegant solution to the "how do I opt in" issue.

For the inout issue: do we have a sense of how source breaking it would be? I'd guess that if you combined it with ImplicitlyCopyable types (e.g. Int, Float etc. which never need a copy annotation) you might end up with fairly narrow breakage, but that's only a guess (albeit one based on skimming through my own code).