Is IntelliJ Python 3 inspection "Expected a dictionary, got a dict" a false positive for super with **kwargs? : <p>I use Python 3 and want to wrap <code>argparse.ArgumentParser</code> with a custom class that sets 
<code>formatter_class=argparse.RawDescriptionHelpFormatter</code> by default. I can do this successfully, however IntelliJ IDEA 2017.1 with Python Plugin (PyCharm) gives a warning for the following code:</p>

<pre class="lang-py prettyprint-override"><code>class CustomParser(argparse.ArgumentParser):
def __init__(self, formatter_class=argparse.RawDescriptionHelpFormatter, **kwargs):
    # noinspection PyArgumentList
    super().__init__(formatter_class=formatter_class, **kwargs)  # warning in this line for the last argument if suppression comment above removed
</code></pre>

<p>If one removes the comment with the IntelliJ suppression command the warning on kwargs is "Expected a dictionary, got a dict", however it is working. Is this a false positive warning or can this be done better without the warning? Is there a real issue behind this warning that it helps avoiding?</p>

<p>Side question: Is there a difference in using<br>
<code>formatter_class = kwargs.pop('formatter_class', argparse.RawDescriptionHelpFormatter)</code> instead of explicitly defining the named parameter in the signature? According to <a href="https://www.python.org/dev/peps/pep-0020/" rel="noreferrer">PEP20</a> more explicit in the signature is better, right?</p>
