&gt; I’m fascinated how simple the __NSDictionaryI turned out to be.<p>There may be other cases where one gets something entirely different than the __NSDictionaryI class, depending on how the dictionary was created or how much &#x2F; what kind of data it contains. There is some evidence[1] that Apple switches implementations of its collection classes based on various conditions, even something very simple, such as when an array contains more than X elements (where &quot;X&quot; is some threshold where the optimization characteristics change). Being able to dynamically change implementations is the main benefit of class clusters after all.<p>[1] <a href="http:&#x2F;&#x2F;ridiculousfish.com&#x2F;blog&#x2F;posts&#x2F;array.html" rel="nofollow">http:&#x2F;&#x2F;ridiculousfish.com&#x2F;blog&#x2F;posts&#x2F;array.html</a>