cannot return `lent` expression from conditionals like `case`
### Description

```nim
type A = object
  field: int

proc works(a: A): lent int =
  a.field

proc x(a: A): lent int =
  case true
  of true:
    a.field
  of false:
    a.field

proc y(a: A): lent int =
  case true
  of true:
    a.field
  of false:
    raiseAssert "invalid"
```

Both `x` and `y` should have no problem returning the address of `a.field` to the consumer since they are equivalent to `works` - the address of the expression as a whole can be derived from the branches since the expressions therein have an address that readily can be used for this purpose.


### Nim Version

2.0.8

### Current Output

```text
Error: expression has no address
```


### Expected Output

_No response_

### Possible Solution

_No response_

### Additional Information

_No response_