title: mypy: How to solve this tuple confusion
body: <p>Python 3.6 has no problems with this tuple sample:</p>
  
  <pre><code># tpl is a tuple. Each entry consists of a tuple with two entries. The first
  # of those is a tuple of two strings. The second one is a tuple of tuples with
  # three strings.
  
  tpl = (
      (('a', 'b'), (('1', '2', '3'), ('4', '5', '6'))),
      (('c', 'd'), (('7', '8', '9'),)),
      )
  
  for first_tuple, second_tuple in tpl:
      str1, str2 = first_tuple
      print(str1, str2)
      for str1, str2, str3 in second_tuple:
          print('   ', str1, str2, str3)
      print()
  </code></pre>
  
  <p>output:</p>
  
  <pre><code>a b
      1 2 3
      4 5 6
  
  c d
      7 8 9
  </code></pre>
  
  <p>But mypy 0.511 seems to get confused and reports errors:</p>
  
  <pre><code>ttpl.py:13: error: Iterable expected
  ttpl.py:13: error: "object" has no attribute "__iter__"; maybe "__str__"?
  </code></pre>
  
  <p>What can i do, to help mypy understand what is going on?</p>