Can anybody explain the following paragraphs in python reference?
<p>From the <a href="http://docs.python.org/reference/datamodel.html#special-method-lookup-for-new-style-classes" rel="nofollow">Special method lookup for new-style classes section</a> of the Python data model chapter in the refence:</p>

<blockquote>
  <p>For new-style classes, implicit invocations of special methods are only guaranteed to work correctly if defined on
  an object’s type, not in the object’s instance dictionary. That behaviour is the reason why the following code raises
  an exception (unlike the equivalent example with old-style classes):</p>

<pre><code>&gt;&gt;&gt; class C(object):
...     pass
...
&gt;&gt;&gt; c = C()
&gt;&gt;&gt; c.__len__ = lambda: 5
&gt;&gt;&gt; len(c)
Traceback (most recent call last):
  File "&lt;stdin&gt;", line 1, in &lt;module&gt;
TypeError: object of type 'C' has no len()
</code></pre>
  
  <p><strong>The rationale behind this behaviour lies with a number of special methods such as <code>__hash__()</code> and
  <code>__repr__()</code> that are implemented by all objects, including type objects. If the implicit lookup of these methods
  used the conventional lookup process, they would fail when invoked on the type object itself:</strong></p>

<pre><code>&gt;&gt;&gt; 1 .__hash__() == hash(1)
True
&gt;&gt;&gt; int.__hash__() == hash(int)
Traceback (most recent call last):
  File "&lt;stdin&gt;", line 1, in &lt;module&gt;
TypeError: descriptor ’__hash__’ of ’int’ object needs an argument
</code></pre>
  
  <p><strong>Incorrectly attempting to invoke an unbound method of a class in this way is sometimes referred to as ‘metaclass
  confusion’, and is avoided by bypassing the instance when looking up special methods:</strong></p>

<pre><code>&gt;&gt;&gt; type(1).__hash__(1) == hash(1)
True
&gt;&gt;&gt; type(int).__hash__(int) == hash(int)
True
</code></pre>
</blockquote>

<p>I can't catch the words in bold well...</p>
