3 different kinds of NaNs is pretty rad too. No idea what&#x27;s happening here:<p><pre><code>   &gt;&gt;&gt; x = 0*1e400
   &gt;&gt;&gt; set({x, x, float(x), float(x), 0*1e400, 0*1e400})
   set([nan, nan, nan])
   &gt;&gt;&gt; set({x, float(x), 0*1e400, 0*1e400})
   set([nan, nan, nan])
   &gt;&gt;&gt; set({x, float(x), 0*1e400})
   set([nan, nan])
</code></pre>
EDIT: it gets worse:<p><pre><code>   &gt;&gt;&gt; x = 0*1e400
   &gt;&gt;&gt; y = 0*1e400
   &gt;&gt;&gt; z = 0*1e400
   &gt;&gt;&gt; set({x, x, x})
   set([nan])
   &gt;&gt;&gt; set({x, y, z})
   set([nan, nan, nan])</code></pre>