title: Type 'string' is not assignable to type 'string & number'. ts(2322)
body: <p>I'm new at typescript and trying to figure out how to handle this error. I understand why it happens, but can't find the right way to handle this</p>
  <pre class="lang-js prettyprint-override"><code>type Data = {
      name: string
      age: number
  }
  
  type ValueOf&lt;T&gt; = T[keyof T]
  
  const data: Data = {
      name: 'Jack',
      age: 33,
  }
  
  function change(name: keyof Data, value: ValueOf&lt;Data&gt;): ValueOf&lt;Data&gt; {
      data[name] = value // error
      return data[name]
  }
  </code></pre>
  <p><strong>Error</strong>:</p>
  <blockquote>
  <p>Type 'string | number' is not assignable to type 'string &amp; number'.</p>
  <p>Type 'string' is not assignable to type 'string &amp; number'.</p>
  <p>Type 'string' is not assignable to type 'number'.</p>
  </blockquote>