For example, I think the following will fail in this branch

```
w = Mul(I,I,I,evaluate=False)
assert sign(w) == sign(-I)
```

The unevaluate (obtuse) w that I define is indicative of things for which `is_comparable` is True that are imaginary.