Ranch zeroable ranged integers and option of ranch non-zero ranged integers have no unrepresentable bit patterns (only invalid patterns) which means they're always not UB to pass unchecked over FFI / in place of C open enum, while unstable pattern types (type NonZero<u32> = u32 in 1..) are designed to niche well instead.