title: class method generates "TypeError: ... got multiple values for keyword argument ..."
body: <p>If I define a class method with a keyword argument thus:</p>
  
  <pre><code>class foo(object):
    def foodo(thing=None, thong='not underwear'):
      print thing if thing else "nothing" 
      print 'a thong is',thong
  </code></pre>
  
  <p>calling the method generates a <code>TypeError</code>:</p>
  
  <pre><code>myfoo = foo()
  myfoo.foodo(thing="something")
  
  ...
  TypeError: foodo() got multiple values for keyword argument 'thing'
  </code></pre>
  
  <p>What's going on?</p>