The typecomplex includes all mathematical complex numbers
other than those included in the typerational.
Complexes are
expressed
in Cartesian form with a
real part and an imaginary part, each of which is a real.
The real part and imaginary part are either both
rational or both of the same floattype.
The imaginary part can be a float zero, but can never
be a rational zero, for such a number is always represented
by Common Lisp as a rational rather than a complex.

Every element of this type is a complex whose
real part and imaginary part are each of type
(upgraded-complex-part-type typespec).
This type encompasses those complexes
that can result by giving numbers of typetypespec
to complex.

(complex type-specifier)
refers to all complexes that can result from giving
numbers of typetype-specifier to the functioncomplex,
plus all other complexes of the same specialized representation.