Invalid C code generation in refc with a method, case object, and `std/options`
### Nim Version

Builds and generate C code gcc finds valid:
```
Nim Compiler Version 2.0.15 [Linux: amd64]
Compiled at 2025-03-23
Copyright (c) 2006-2023 by Andreas Rumpf

git hash: d01002d8f8cf2c12e67e4ddae3e5990a7d92e753
active boot switches: -d:release
```

Generates C code gcc does not find valid:
```
Nim Compiler Version 2.2.3 [Linux: amd64]
Compiled at 2025-03-23
Copyright (c) 2006-2025 by Andreas Rumpf

git hash: bfd25121f9e636f465fce296cf92554bb3288848
active boot switches: -d:release
```

```
Nim Compiler Version 2.3.1 [Linux: amd64]
Compiled at 2025-03-23
Copyright (c) 2006-2025 by Andreas Rumpf

git hash: fcba14707a06271f6e14b6c5641d6d5fbc96ff0d
active boot switches: -d:release
```

### Description

```nim
import std/options

type
  B[T] = object
    case r: bool
    of false:
      v: ref int
    of true:
      x: T
  U = ref object of RootObj

method y(_: U) {.base.} =
  let s = default(B[tuple[f: B[int], w: B[int]]])
  discard some(s.x)
```

### Current Output

```text
/tmp/tmp.CAbECOO8sf/@mh.nim.c: In function ‘some__h_u30’:
/tmp/tmp.CAbECOO8sf/@mh.nim.c:217:63: error: lvalue required as unary ‘&’ operand
  217 | genericAssign(((void*) ((&(*Result).val.Field0))), ((void*) ((&((tyTuple__5ZqJQIbuGPQRBLr5W49aqow) ((*val_p0))).Field0))), (&NTIb__Oxx1FbsbxRqQfsOV2n1gUQ_));
      |                                                               ^
/tmp/tmp.CAbECOO8sf/@mh.nim.c:218:63: error: lvalue required as unary ‘&’ operand
  218 | genericAssign(((void*) ((&(*Result).val.Field1))), ((void*) ((&((tyTuple__5ZqJQIbuGPQRBLr5W49aqow) ((*val_p0))).Field1))), (&NTIb__Oxx1FbsbxRqQfsOV2n1gUQ_));
```

### Expected Output

```text
No gcc errors
```

### Known Workarounds

_No response_

### Additional Information

_No response_