I don't know why following. Can someone answer?

1. Object.opEquals(Object lhs, Object.rhs)

It seems to me that nobody uses it. Why it exists?

2. object.opEquals(TypeInfo lhs, TypeInfo rhs)

It might be used to hack for typeid(x) == typeid(y), but I'm not sure.
That is much ambiguous, and if it's really used, we should move it to static TypeInfo.equals and explicitly use it by the name.

Kenji Hara