title: Backwards incompat change in subclassing between 3.6 and 3.7
body: <p>Python 3.6</p>
  <pre><code>&gt;&gt;&gt; class Tup(tuple):
  ...     pass
  ... 
  &gt;&gt;&gt; Tup(x=123)
  Traceback (most recent call last):
    File &quot;&lt;stdin&gt;&quot;, line 1, in &lt;module&gt;
  TypeError: 'x' is an invalid keyword argument for this function
  </code></pre>
  <p>Python 3.7</p>
  <pre><code>&gt;&gt;&gt; class Tup(tuple):
  ...     pass
  ... 
  &gt;&gt;&gt; Tup(x=123)
  ()
  </code></pre>
  <p>What changed between 3.6 and 3.7? And why?</p>