Our representation of complex types is not (and I think has never been) able to represent
(COMPLEX BIGNUM)
the way our TYPEP (and UPGRADED-COMPLEX-PART-TYPE) interprets complex types. NUMERIC-TYPE has a :COMPLEXP boolean, but NUMERIC-TYPE can only represent a single continuous range; so though we can represent (OR (COMPLEX <range1>) (COMPLEX <range2>)) we can't represent (COMPLEX (OR <range1> <range2>)).
Our representation of complex types is not (and I think has never been) able to represent
(COMPLEX BIGNUM)
the way our TYPEP (and UPGRADED- COMPLEX- PART-TYPE) interprets complex types. NUMERIC-TYPE has a :COMPLEXP boolean, but NUMERIC-TYPE can only represent a single continuous range; so though we can represent (OR (COMPLEX <range1>) (COMPLEX <range2>)) we can't represent (COMPLEX (OR <range1> <range2>)).