Is there a fundamental reason that we cannot mix-and-match assignment and variable declaration when destructuring a tuple?

Suppose we have integer variables `x`

and `y`

, and we want to perform `x += y`

while also checking for overflow.

Ideally this could be done in a single line, like so:

```
(x, let overflow) = x.addingReportingOverflow(y)
```

However that does not compile.

Instead, today we must split it up into two lines like this:

```
let overflow: Bool
(x, overflow) = x.addingReportingOverflow(y)
```

Or this:

```
let (sum, overflow) = x.addingReportingOverflow(y)
x = sum
```

Is there a realistic possibility of allowing the one-line version to work?