title: Specify type that is a subtype
body: <p>We are specifying an abstract class as well as implementation like this:</p>
  
  <pre><code>from abc import ABC
  class Base(ABC):
      ...
  
  class Type1(Base):
      def __init__(self, var1: str):
          ...
  </code></pre>
  
  <p>then we are trying to use it in this way</p>
  
  <pre><code>from typing import Dict
  constructors: Dict[str, Base]= {'type1': Type1}
  
  constructors['type1']("")  # Error here
  </code></pre>
  
  <p>But we are getting an error in our IDE that says <code>Base</code> is not callable -- which is true.  How do we specify that the our dictionary values are descendants of the <code>Base</code> class which <em>are</em> callable?</p>