This is included as a parallel to the equivalent `opEquals` in `Complex`, but with the opEquals on L1217 removed, it's failing in unpleasant ways which are probably down to FPU cache affecting floating-point comparisons: e.g. I'm getting failures for `assert(imaginary(0) != 0.3)` which vanish if I `writeln` the values being compared.  Confusion indeed. :-(