On Thu, Nov 26, 2020, 5:12 AM Greg Ewing 
Then we just need a way to specify that particular names are
captured by value. Not sure how to do that in a way that doesn't look ugly and/or obscure.

Isn't that EXACTLY what you call "default argument abuse"?!

To me, that is concise, obvious, and easy to remember. So what you are asking for is a less obvious way to spell something that already exists.