title: Make OR condition for generic
body: <p>Consider type</p>
  <pre><code>type Smth&lt;T, U&gt; = ...
  </code></pre>
  <p>Now I want to check if <code>T</code> is <code>string</code> OR <code>U</code> is primitive.</p>
  <hr />
  <p>I can check conditions separately</p>
  <pre><code>type AreSame&lt;T, U, Y, N&gt; = (&lt;X&gt;() =&gt; X extends T ? 1 : 2) extends (&lt;X&gt;() =&gt; X extends U ? 1 : 2) ? Y : N
  type IfAny&lt;T, Y, N&gt; = 0 extends (1 &amp; T) ? Y : N
  type IfPrimitive&lt;T, Y, N&gt; = T extends string | number | boolean | symbol | bigint | null | undefined ? IfAny&lt;T, N, Y&gt; : N
  
  type Smth1&lt;T, U&gt; = AreSame&lt;T, string, true, false&gt;
  type Smth2&lt;T, U&gt; = IfPrimitive&lt;U, true, false&gt;
  </code></pre>
  <p>but how to join them via <code>or</code>?</p>