title: functools.partial wants to use a positional argument as a keyword argument
body: <p>So I am trying to understand <code>partial</code>:</p>
  
  <pre><code>import functools
  
  def f(x,y) :
      print x+y
  
  g0 = functools.partial( f, 3 )
  g0(1)
  
  4 # Works as expected
  </code></pre>
  
  <p>In: </p>
  
  <pre><code>g1 = functools.partial( f, y=3 )
  g1(1)
  
  4 # Works as expected
  </code></pre>
  
  <p>In: </p>
  
  <pre><code>g2 = functools.partial( f, x=3 )
  g2(1)
  
  TypeError: f() got multiple values for keyword argument 'x'
  </code></pre>
  
  <p>The <code>TypeError</code> disappears if I use <code>y</code> as a keyword argument:</p>
  
  <p>In:</p>
  
  <pre><code>g2( y=1 )
  
  4
  </code></pre>
  
  <p>What causes the <code>TypeError</code>?</p>