experimental views gives bad data when combined with toSeq
### Nim Version

Nim Compiler Version 2.2.2 [Linux: amd64]
Compiled at 2025-02-06
Copyright (c) 2006-2025 by Andreas Rumpf

git hash: 6c34f62785263ad412f662f3e4e4bf8d8751d113
active boot switches: -d:release


### Description

Minimal reproducible example:
```nim
{.experimental:"views".}

import std/[
    sequtils,
    unittest,
]

template toSeq1_modified(s2: not iterator): untyped =
    ## This is a modified version of toSeq, which uses the parameter directly
    ## instead of modifying it with `evalOnceAs` (which is commented out
    ## below). This resolves the issue.
    type OutType = typeof(items(s2))
    block:
        # evalOnceAs(s2, s, compiles((let _ = s)))
        var i = 0
        var result = newSeq[OutType](s2.len)
        for it in s2:
            result[i] = it
            i += 1
        result

type Obj = object
    x: array[1, int]

proc view(o: Obj): openArray[int] =
    o.x.toOpenArray(o.x.low, o.x.high)

let val: int = 2
var o = Obj(x: [val])

check o.x.toSeq == @[val] # passes
check o.view.toSeq1_modified == @[val] # passes
check o.view.toSeq == @[val] # fails
```

Tested on devel, v2.2.2, v2.0.0, v1.6.20. The value of `val` affects if it passes the test or not, but using `2` fails on all versions mentioned.


### Current Output

```text
testcase.nim(33, 19): Check failed: o.view.toSeq == @[val]
o.view.toSeq was @[124627457097792]
@[val] was @[2]
Error: execution of an external program failed: 'testcase'

shell returned 1
```

### Expected Output

```text
tests passing
```

### Known Workarounds

Modifying toSeq like shown above (`toSeq1_modified`).

### Additional Information

Edit: I should probably have picked a value with all the bits set (like uint.high), to avoid false negatives.