title: How to annotate types of multiple return values?
body: <p>How do I use type hints to annotate a function that returns an <code>Iterable</code> that always yields two values: a <code>bool</code> and a <code>str</code>?  The hint <code>Tuple[bool, str]</code> is close, except that it limits the return value type to a tuple, not a generator or other type of iterable.</p>
  
  <p>I'm mostly curious because I would like to annotate a function <code>foo()</code> that is used to return multiple values like this:</p>
  
  <pre><code>always_a_bool, always_a_str = foo()
  </code></pre>
  
  <p>Usually functions like <code>foo()</code> do something like <code>return a, b</code> (which returns a tuple), but I would like the type hint to be flexible enough to replace the returned tuple with a generator or list or something else.</p>