In Rust today, we have distinct primitive types for all integers.
u8, u16, i64, usize, etc.
This works fine, and serves well as a way of handling numbers. Every programming langauge under the sun does this, and it works.
But we could do better.