We have bunch of adhoc functions, like, isSymbol, asSymbol, isJSMap etc. We may easily miss the chance to use optimized casting. For example, jsDynamicCast<JSMap*>(vm, iterable) If we do not have a fast overloading function (checking type() == JSMapType), it falls back to the usual slow inherits() code.
We already did it. *** This bug has been marked as a duplicate of bug 183449 ***