Why object field initialization does not work with  proc or func result ?
### Nim Version

2.2

### Description

Certainly not a bug but coming from other programming languages it feels buggy that this snippet 
```
type Foo = object
  port* : Natural = 6789

let f = Foo()
echo "f.port:", f.port

proc someStuff() : Foo =
  echo "result.port:" , result.port
  result = Foo()
  echo "result after build.port:" , result.port

let sf = someStuff()
echo "sf.port:", sf.port
```
outputs
f.port:6789
result.port:0
result after build.port:6789
sf.port:6789

IMO it is both error proning and not consistent... 
what is the rationale, is there any magic compilation flag to have field initialization done 'ever ever' ? 

Thanks.




### Current Output

```text

```

### Expected Output

```text

```

### Known Workarounds

_No response_

### Additional Information

_No response_