Please explain why these two builtin functions behave different when passed in keyword arguments
<p>Consider these different behaviour::</p>

<pre><code>&gt;&gt; def minus(a, b):
&gt;&gt;    return a - b

&gt;&gt; minus(**dict(b=2, a=1))
-1

&gt;&gt; int(**dict(base=2, x='100'))
4

&gt;&gt; import operator
&gt;&gt; operator.sub.__doc__
'sub(a, b) -- Same as a - b.'
&gt;&gt; operator.sub(**dict(b=2, a=1))
TypeError: sub() takes no keyword arguments
</code></pre>

<p>Why does <code>operator.sub</code> behave differently from <code>int(x, [base])</code> ?</p>
