Add -(::ImaginaryUnit) and make real/imag(::ImaginaryUnit) return Int, not Int32