title: Argument of type 'number' is not assignable to parameter of type 'never' in array.includes()
body: <p>I'm receiving a Typescript error,</p>
  <blockquote>
  <p>error TS2345: Argument of type 'number' is not assignable to parameter
  of type 'string &amp; number'. Type 'number' is not assignable to type
  'string'. 112</p>
  </blockquote>
  <pre><code>setProductPrices(productPrices.filter(
    (p): boolean =&gt; !selectedProductIds.includes(p.id)));
                                                 ^^^^
  </code></pre>
  <p>from the following code:</p>
  <pre><code>export interface IProductPrice {
      id: number;
  }
  const [productPrices, setProductPrices] = useState&lt;IProductPrice[]&gt;([]);
  const [selectedProductIds, setSelectedProductIds] = useState&lt;string[] | number[]&gt;([]);
  
  const deleteSelectedProducts = (): void =&gt; {
          setProductPrices(productPrices.filter((p): boolean =&gt; !selectedProductIds.includes(p.id)));
          setSelectedProductIds([]);
  };
  </code></pre>
  <p>The <code>includes()</code> method is supposedly
  expecting a parameter of 'never' while <code>p.id</code> is a number. Does anyone know how to fix this?</p>