Calling `=destroy` on non-var fields with stack based collections (Table, HashSet, etc)
### Description

```nim
type
  AgentObj = object of RootObj
    subscribers*: Table[int, int]

proc `=destroy`*(agent: AgentObj) =
  `=destroy`(agent.subscribers)
```



### Nim Version

Since the `var` variant of destroy was added, but currently: 

```
Nim Compiler Version 2.0.14 [Linux: arm64]
Compiled at 2024-12-23
Copyright (c) 2006-2023 by Andreas Rumpf

git hash: bf4de6a394e040d9810cba8c69fb2829ff04dcc6
active boot switches: -d:release -d:danger
```


### Current Output

```text
➜  sigils git:(thread-lifetimes-alt1) ✗ nim c -r "/home/elcritch.linux/sigils/tests/tslotsThread.nim"
Hint: used config file '/home/elcritch.linux/.asdf/installs/nim/2.0.14/config/nim.cfg' [Conf]
Hint: used config file '/home/elcritch.linux/.asdf/installs/nim/2.0.14/config/config.nims' [Conf]
Hint: used config file '/home/elcritch.linux/sigils/tests/nim.cfg' [Conf]
Hint: used config file '/home/elcritch.linux/sigils/tests/config.nims' [Conf]
.....................................................................................................................................
/home/elcritch.linux/sigils/sigils/agents.nim(4, 20) Hint: duplicate import of 'options'; previous import here: /home/elcritch.linux/sigils/sigils/agents.nim(1, 13) [DuplicateModuleImport]
....
/home/elcritch.linux/.asdf/installs/nim/2.0.14/nimble/pkgs2/stack_strings-1.1.4-1c5d7fa85b69c771cba02393aff571cfd36713e6/stack_strings.nim(331, 85) Hint: '[]' cannot raise 'IndexDefect' [XCannotRaiseY]
/home/elcritch.linux/sigils/sigils/agents.nim(138, 13) Error: type mismatch
Expression: `=destroy`(agent.subscribers)
  [1] agent.subscribers: Table[protocol.SigilName, OrderedSet[agents.Subscription]]

Expected one of (first mismatch at [position]):
[1] proc `=destroy`(agent: AgentObj)
[1] proc `=destroy`(x: string)
[1] proc `=destroy`[T](dest: var Isolated[T])
[1] proc `=destroy`[T](x: ref T)
[1] proc `=destroy`[T](x: seq[T])
[1] proc `=destroy`[T](x: var T)
  expression 'agent.subscribers' is immutable, not 'var'
```
```


### Expected Output

```text
It compiles!
```


### Known Workarounds

```nim
proc `=destroy`*(agent: AgentObj) =
  `=destroy`(addr(agent)[].subscribers)
```

Maybe:

```nim
proc `=destroy`*(agent: AgentObj) =
  var subscribers = ensureMoved agent[].subscribers 
  `=destroy`(subscribers)
```

### Additional Information

_No response_