This is not good. In following case, opEquals should be called twice.
```d
class B {}  class C1 : B {}  class C2 : B {}
B b1 = new C1, b2 = new C2;
auto res = b1 == b2;    // b1.opEquals(b2) && b2.opEquals(b1)
```