> With generalized polymorphic inline caches (dispatch chains) you get that cost down to the dynamic check and the JIT compiler can remove all reflective overhead.
...which results in a scenario no different in terms of overhead or expressiveness, than you'd have with a static MOP with runtime dispatch.