title: "TypeError: got multiple values for argument" after applying functools.partial()
body: <p>Consider the following piece of code that utilizes <a href="https://docs.python.org/3/library/functools.html#functools.partial" rel="noreferrer"><code>functools.partial()</code></a>:</p>
  
  <pre class="lang-python prettyprint-override"><code>import functools
  
  def add(a, b):
      return a + b
  
  add_10 = functools.partial(add, a=10)
  add_10(4)
  </code></pre>
  
  <p>When I run it, I got the following error:</p>
  
  <pre class="lang-none prettyprint-override"><code>Traceback (most recent call last):
  File "test.py", line 7, in &lt;module&gt;
      add_10(4)
  TypeError: add() got multiple values for argument 'a'
  </code></pre>
  
  <p>When I change the keyword argument to a positional argument in the penultimate line, it passes:</p>
  
  <pre class="lang-python prettyprint-override"><code>add_10 = functools.partial(add, 10)
  </code></pre>
  
  <p>Why doesn't it pass in the first case? I'm using Python 3.4.</p>