Wouldn't it be better to return a 1 if possible?

```
>>> factor_terms(sign(2+2*I))
1
```

But actually, I don't know why this comes back as this instead of the simplified form that is shown below. Can you comment?