I guess the only question I have is about the imaginary and is comparable...what sort of term are you looking for? sqrt(1-sqrt(3))? Part of the reason I have the question is because `is_comparable` is not very descriptive. Also, imaginaries have to be processed in groups of 4: two become -1, 3 become -I and 4 brings you back to the start.