title: Set literal gives different result from set function call
body: <p>Why does the <code>set</code> function call wipe out the dupes, but parsing a set literal does not?</p>
  
  <pre><code>&gt;&gt;&gt; x = Decimal('0')
  &gt;&gt;&gt; y = complex(0,0)
  &gt;&gt;&gt; set([0, x, y])
  {0}
  &gt;&gt;&gt; {0, x, y}
  {Decimal('0'), 0j}
  </code></pre>
  
  <p>(Python 2.7.12.  Possibly same root cause as for <a href="https://stackoverflow.com/q/40225520/674039">this</a> similar question)</p>