Subtracts another I16 from this, wrapping around on overflow/underflow.
I16 operator -(I16 other) => I16((value - other.value).toSigned(16));