These generic types can be used when you don't particularly care about whether a number is 32- or 64-bits. The largest available size will automatically be used, but will be compatible with 32- and 64-bit processors.
uint: This is an unsigned integer of either 32 or 64 bits
int: This is a signed integer with the same size as uint
uintptr: This is an unsigned integer to store a pointer value