pub open spec fn wrapping_sub(x: u16, y: u16) -> u16
{ if x - y < 0 { (x - y + 0x1_0000) as u16 } else { (x - y) as u16 } }