I am not aware of this proposal, but it should probably be more like this
when({ headers: otherHeaders.{foo, bar}, ...rest }) { // Using variables
when({ headers: {'fooValue', 'barValue'}, ...rest }) { // Using values
You need an assignment.
But from your point of view I understand you want, by default if no assignment is present, to self-assign the new Object to a variable name identical to its source object.
Like if a.{ b, c } was auto assigned to a.
It would transform a.{ b, c } into a = a.{ b, c }
Which is quite dangerous because it would destroy the source object.
While it can be convenient in some cases, there will be different cases where you want to preserve the source object.
Which is why self-assignment cannot be the default behavior.
You need to specify the variable in which you want the result to come in.