title: How to fix 'got multiple values for argument' error for *args and **kwargs?
body: <p>Consider the following:</p>
  
  <pre><code>def my_wrapper(wrapper_argument=False, *args, **kwargs):
    return my_function(*args, **kwargs)
  
  def my_function(arg1, arg2, params=None):
    # do_stuff
    return result
  </code></pre>
  
  <p>when I call the above with: </p>
  
  <pre><code>my_wrapper('foo', 'bar', wrapper_argument=True)
  </code></pre>
  
  <p>I get:</p>
  
  <pre><code>TypeError: my_function() got multiple values for argument 'wrapper_argument'
  </code></pre>
  
  <p>Why? Is the ordering of the arguments perhaps wrong?</p>