def -(other)
    if ::Complex === other
      ::Kernel.Complex(@real - other.real, @imag - other.imag)
    elsif ::Numeric === other && other.real?
      ::Kernel.Complex(@real - other, @imag)