pub open spec fn wrapping_add(x: u32, y: u32) -> u32
{ if x + y > <u32>::MAX { (x + y - 0x1_0000_0000) as u32 } else { (x + y) as u32 } }