title: Missing prompt "implements interface X" when implements a generic type
body: <p>So, i have two classes: A and B.
  What i want to do is to make class A implements all public properties of class B. So i wrote a generic type:</p>
  
  <pre><code>type PropertiesOf&lt;T&gt; = { [P in keyof T]: T[P] }
  </code></pre>
  
  <p>And when i use it like that:</p>
  
  <pre><code>class A implements PropertiesOf&lt;B&gt; { }
  </code></pre>
  
  <p>Its an error on A: </p>
  
  <blockquote>
    <p>"Type A is missing the following properties from type
    'PropertiesOf': ..."</p>
  </blockquote>
  
  <p>So its seems to work.</p>
  
  <p>But the only prompt on A class definition is </p>
  
  <blockquote>
    <p>"Move to new file"</p>
  </blockquote>
  
  <p>If i wrote a simple type, fe:</p>
  
  <pre><code>type X { a: () =&gt; {}; }
  </code></pre>
  
  <p>the prompt is </p>
  
  <blockquote>
    <p>"implement interface X"</p>
  </blockquote>
  
  <p>So, it is something wrong with <code>PropertiesOf</code> type, or is that something else?</p>