title: How does `type Constructor<T> = Function & { prototype: T }` apply to Abstract constructor types in TypeScript?
body: <p>There is this Q&amp;A about Abstract constructor types in TypeScript, which is a question I would like to know the answer to:</p>
  
  <p><a href="https://stackoverflow.com/questions/36886082/abstract-constructor-type-in-typescript">Abstract constructor type in TypeScript</a></p>
  
  <p>Unfortunately, the accepted answer is little more that an unexplained one-liner: <code>type Constructor&lt;T&gt; = Function &amp; { prototype: T }</code> </p>
  
  <p>It appears that this answer is good enough for the asker, it is the accepted answer, but I'm unable to understand how the answer applies to the question.</p>
  
  <p>I've tried asking in the comments, and I've tried asking someone in chat to explain the answer, but to no avail.  Also, I recognize that this is only barely a different question from that one, but this is still a unique question about code.</p>
  
  <p>How can I use a type of <code>Function &amp; { prototype: T }</code> to emulate an abstract class of known constructor type?</p>