title: Is assignable to type but could not be instantiated with a different subtype
body: <p>I have some typescript code:</p>
  
  <pre><code>const wrapField = &lt;T extends { value: string }&gt;(fieldValue: string): T =&gt; ({
    value: fieldValue,
  });
  </code></pre>
  
  <p>Typescript gives me an error:</p>
  
  <pre><code>'{ value: string; }' is assignable to the constraint of type 'T', but 'T' could be instantiated with a different subtype of constraint '{ value: string; }'
  </code></pre>
  
  <p>I'm not sure what I'm doing wrong, they are both <code>'{value: string;}'</code></p>