question about declarations



This came up as a red herring in a Sage thread, but I'm just curious about this.

(%i1) declare(x,complex);
(%o1)                                done
(%i2) facts();
(%o2)                         [kind(x, complex)]
(%i3) declare(x,real);
(%o3)                                done
(%i4) facts();
(%o4)                  [kind(x, complex), kind(x, real)]


Should this perhaps just result in real, if RR \subset CC?  Or are
there situations where this would be different from just declaring x
to be real?

Thanks!

Karl-Dieter