Error: unhandled exception: lists.nim(408, 11) `L.tail.next == nil`  [AssertionDefect]
# The test source
```nim
import std/lists 

proc main() =
    var sa = initSinglyLinkedList[int32]()
    sa.add(0)
    var sb = sa
    echo "#0 ok."
    
    sa.add(1)
    assert sa.contains(0) and sa.contains(1)
    assert sb.contains(0) and sb.contains(1)
    echo "#1 ok."
    
    sa.add(2)
    assert sa.contains(0) and sa.contains(1) and sa.contains(2)
    assert sb.contains(0) and sb.contains(1) and sb.contains(2)
    echo "#2 ok."
    
    sb.add(3)
    echo "#3.1 ok."
    assert sa.contains(0) and sa.contains(1) and sa.contains(2) and sa.contains(3)
    assert sb.contains(0) and sb.contains(1) and sb.contains(2) and sb.contains(3)
    echo "#3 ok."

main()
```

### Nim Version

>nim -v
Nim Compiler Version 1.6.20 [Windows: amd64]
Compiled at 2024-04-07
Copyright (c) 2006-2023 by Andreas Rumpf

active boot switches: -d:release

ds>%nim20_home%\bin\nim -v
Nim Compiler Version 2.0.8 [Windows: amd64]
Compiled at 2024-07-03
Copyright (c) 2006-2023 by Andreas Rumpf

active boot switches: -d:release

### Current Output

```text
>liststest
#0 ok.
#1 ok.
#2 ok.
fatal.nim(54)            sysFatal
Error: unhandled exception: lists.nim(408, 11) `L.tail.next == nil`  [AssertionDefect]
```


### Expected Output

```text
>liststest
#0 ok.
#1 ok.
#2 ok.
#3.1 ok.
#3 ok.
```


### Known Workarounds

_No response_

### Additional Information

_No response_