From basic.py  it looks like `is_comparable` is equivalent to `is_number and is_real` (so it would have been nice to name it is_realnumber`). That being the case, `a.is_imaginary` should never be True when `a.is_comparable` is True, should it?