That’s not a dark side of value semantics; it’s the dark side of not having complete support for it with all the sugars, e.g. non-escaping inout locals
Given that observation, this is starting to sound like the beginnings of a framework for mobile agents. Perhaps “agent” is a good name?
Here's another interesting example I just stumbled upon: whiley. On first read, they seem to have settled on an identical model to Swift, using reference counting to make pass-by-value efficient.