succ raise OverflowDefect, succ does not handle unsigned integers correctly
### Description

succ does not handle unsigned integers correctly.

```nim
let v = high(uint) div 2
echo v # 9223372036854775807
echo v + 1 # 9223372036854775808
echo succ v # Error: unhandled exception: over- or underflow [OverflowDefect]
```
```c
N_LIB_PRIVATE NIM_CONST NU v__t1_u5 = ((NU)IL64(9223372036854775807));
nimln_(16);	colontmpD__2 = dollar___systemZdollars_u14(((NU64) ((NU)((NU64)(v__t1_u5) + (NU64)(((NU)1))))));
nimln_(17);	if (nimAddInt(v__t1_u5, ((NI)1), &TM__RKFvtxDChgOSG9c3eaEfBVA_2)) { raiseOverflow(); goto LA1_;
```

[https://play.nim-lang.org/#pasty=XDlRYyZz](https://play.nim-lang.org/#pasty=XDlRYyZz)

### Nim Version

Nim Compiler Version 2.1.9 [Linux: amd64]
Compiled at 2024-07-25
Copyright (c) 2006-2024 by Andreas Rumpf

git hash: c1f91c26a5136b2ad00f7da93b19c2da9b85dd16
active boot switches: -d:release

### Current Output

```text
9223372036854775807
9223372036854775808
/root/repos/iobuf/t1.nim(17) t1
/root/.choosenim/toolchains/nim-#devel/lib/system/fatal.nim(53) sysFatal
Error: unhandled exception: over- or underflow [OverflowDefect]
```


### Expected Output

```text
9223372036854775807
9223372036854775808
9223372036854775808
```


### Possible Solution

_No response_

### Additional Information

_No response_