* Wraps standard integer types to provide type-safety * Named types provide self-documenting semantics * Catches programmer errors involving mismatched types at compile time * Operators restrict mutation to only safe and meaningful operations