title: TypeScript doesn't check return type when use generic
body: <p>say we have the following code :</p>
  <pre><code>class Foo&lt;T&gt; {
    lift&lt;R&gt;(): Foo&lt;R&gt; {
      const bar = new Foo&lt;T&gt;()
      return bar
    }
  }
  </code></pre>
  <p>why there is no error? <code>Foo&lt;T&gt;</code> and <code>Foo&lt;R&gt;</code> may be different type.</p>
  <p><a href="https://www.typescriptlang.org/play?#code/MYGwhgzhAEBiD28A8AVAfNA3gKGtEAlgGYAuSASmgBQCUAXHIhRjnnsPAHYQnQBGYAE7QAvNE4BTAO6Nk6WrjaCJJAK6DO-IYoC%202HUA" rel="nofollow noreferrer">playground</a></p>