Here is my take on this:
1. It would be nice if you didn't need a Trig[A] instance to do most
interesting things with Complex[A].
2. However, to do anything with complex numbers in polar form you do
need to use Trig[A] methods to go to cartesian form.
3. Many of the most natural implementations of pow/fpow/nroot involve
the polar form of complex numbers.
I haven't given a lot of thought to how to correct implement things
like: c^(1/3) or c^(17/16) just using cartesian coordinates. I'm
definitely open a new implementation, but I'd want to see what the
trade-off was before committing to it.
Does this all make sense? In some ways it's just an implementation
detail, but it's one that is very useful.
-- Erik