title: Type-Hinting Child class returning self
body: <p>Is there any way to type an abstract parent class method such that the child class method is known to return itself, instead of the abstract parent.</p>
  
  <pre class="lang-py prettyprint-override"><code>class Parent(ABC):
      @abstractmethod
      def method(self) -&gt; [what to hint here]:
          pass
  
  class Child1(Parent)
      def method(self):
          pass
  
      def other_method(self):
          pass
  
  class GrandChild1(Child1)
      def other_method_2(self):
          pass
  </code></pre>
  
  <p>This is more to improve autocompletes for IDEs like PyCharm or VScode's python plugin.</p>