pub open spec fn wrapping_add_unsigned(x: i128, y: u128) -> i128
{ if x + y > <i128>::MAX { (x + y - 0x1_0000_0000_0000_0000_0000_0000_0000_0000) as i128 } else { (x + y) as i128 } }