title: Typescript merge types
body: <p>I have type <code>A</code> and type <code>B</code></p>
  
  <pre><code>type A = {
      kind: "A",
      value: string,
      value2: string,
      value3: string,
  };
  
  type B = { kind: "B" } &amp; A ;
  </code></pre>
  
  <p>I want to type <code>B</code> has all the properties of type <code>A</code> but with different <code>kind</code> value</p>
  
  <p>But when I write this</p>
  
  <pre><code>const temp: B = {
      kind: "B",
      value: "X",
      value2: "X2",
      value3: "X3",
  };
  </code></pre>
  
  <p>I get this error</p>
  
  <blockquote>
    <p>TS2322 type <code>string</code> is not assignable to type <code>never</code></p>
  </blockquote>