extra: handle x = (u8)y; correctly