title: Can __all__ be list of objects rather than strings?
body: <p>I found myself using the following pattern in the <code>__init__.py</code> files:</p>
  
  <pre><code>from tool.shed import shovel
  from tool.shed import bucket
  
  __all__ = [shovel, bucket]
  </code></pre>
  
  <p>The code like that works will all python versions that I have ever tried, but it seems that this is an accident. I have not seen it mentioned anywhere that <code>__all__</code> can be a list of objects (rather than strings), and also, this is reported as an error when running <code>mypy</code>:</p>
  
  <p><code>Type of __all__ must be "Sequence[str]", not "List[object]"</code></p>
  
  <p>Is there any reason why <code>__all__</code> should be list of strings? Or are objects ok too?</p>