Agree, but I'm just following the existing design of `Complex` for now.  Supporting integer-based complex numbers carries some challenges that I can see, because many operations will unavoidably result in non-integral real and imaginary parts; it needs some thought how to handle that.