title: Typescript boolean extends Record<"valueOf",unknown> but not Record<string,unknown>?
body: <pre><code>
  type A = boolean extends Record&lt;&quot;valueOf&quot;,unknown&gt; ? true : false // true
  //   ^?
  
  type B = Record&lt;&quot;valueOf&quot;,unknown&gt; extends Record&lt;string,unknown&gt; ? true : false // true
  //   ^?
  
  type C = boolean extends Record&lt;string,unknown&gt; ? true : false // false
  //   ^?
  
  </code></pre>
  <p><a href="https://www.typescriptlang.org/play?#code/C4TwDgpgBAglC8UBGB7FAbCBDAdlCAHsBDgCYDOUAShAMYoBOpAPAEQBuW6ArhAPIAzVgBpuOANY4UAdxwA+KAH4owBrygAuKAK7loAen0q1EALAAoQ1GsA9RRYuhIUAEIJqdRiw5degkWKSMvL4RCQUHvRMzOSqAJY4AOaiElKyCsqq6lo66HpQVllmlka29uaO4NAAwu6oGNh4hMRklDRRLLEMCcmBaSGZJpraugZGuXoWVmUO5kA" rel="nofollow noreferrer">playground</a></p>
  <p>If</p>
  <ol>
  <li><code>boolean</code> extends <code>Record&lt;&quot;valueOf&quot;, unknown&gt;</code> and</li>
  <li><code>Record&lt;&quot;valueOf&quot;, unknown&gt;</code> extends <code>Record&lt;string, unknown&gt;</code></li>
  </ol>
  <p>why not <code>boolean</code> extends <code>Record&lt;string, unknown&gt;</code>??</p>