A wrapper that checks overflow for Rust integer types