1template forwardImpl*(impl, arg) {.dirty.} = 2 when sizeof(x) <= 4: 3 when x is SomeSignedInt: 4 impl(cast[uint32](x.int32)) 5 else: 6 impl(x.uint32) 7 else: 8 when x is SomeSignedInt: 9 impl(cast[uint64](x.int64)) 10 else: 11 impl(x.uint64) 12 13template toUnsigned*(x: int8): uint8 = cast[uint8](x) 14template toUnsigned*(x: int16): uint16 = cast[uint16](x) 15template toUnsigned*(x: int32): uint32 = cast[uint32](x) 16template toUnsigned*(x: int64): uint64 = cast[uint64](x) 17template toUnsigned*(x: int): uint = cast[uint](x) 18