title: Typescript conditional typings strange error case
body: <p>Conditional typing in Typescript is not very intuitive. The code bellow returns an error in the Typescript playground. Can someone explain why since this seems like a perfect easy example for the conditional typings.</p>
  <pre><code>function process&lt;T extends string | null&gt;(text: T): T extends string ? string : null {
    return text;
  }
  
  //Type 'T' is not assignable to type 'T extends string ? string : null'.
  //Type 'string | null' is not assignable to type 'T extends string ? string : null'.
  //Type 'null' is not assignable to type 'T extends string ? string : null'.(2322)
  </code></pre>