Reply to Robert,
BCS wrote:why not make Ia == Ib into cast(Object)Ia == cast(Object)Ib ?I like, but will this work for COM?
All that would be required is to define casting a non D Com object to Object as something rational and consistent (but only in the special cases of this test). I think this should be easy to do as all it would require, as a result of both how COM and D interfaces work, is using an unchecked cast to object.