title: How do I define a `NewType` that's subscriptable, like `List[int]`
body: <p>I've tried things like <code>NewType['SomeType', (SomeClass, typing.Container)]</code>, and it doesn't work.</p>
  
  <p>Suppose I have a class that's really simple, as follows.</p>
  
  <pre><code>class A:
      def __init__(self, a):
          self.a = a
  </code></pre>
  
  <p>Now I want to annotate a function that returns this type as <code>NewA[int]</code>, i.e. using <code>__getitem__</code>, which I obviously haven't defined in <code>A</code> above, but it adds an extra layer of description. Is this possible? And if not, is there a reason I shouldn't try to do something like this?</p>