title: ES6 Set allows duplicate array/object
body: <p>Please have a look at the below script. I am testing it with Chrome.</p>
  
  <pre><code>/*declare a new set*/
  var items = new Set()
  
  /*add an array by declaring as array type*/
  var arr = [1,2,3,4];
  items.add(arr);
  
  /*print items*/
  console.log(items); // Set {[1, 2, 3, 4]}
  
  /*add an array directly as argument*/
  items.add([5,6,7,8]);
  
  /*print items*/
  console.log(items); // Set {[1, 2, 3, 4], [5, 6, 7, 8]}
  
  /*print type of items stored in Set*/
  for (let item of items) console.log(typeof item); //object, object
  
  /*check if item has array we declared as array type*/
  console.log(items.has(arr)); // true
  
  /*Now, check if item has array we added through arguments*/
  console.log(items.has([5,6,7,8])); //false
  
  /*Now, add same array again via argument*/
  items.add([1,2,3,4]);
  
  /*Set has duplicate items*/
  console.log(items); // Set {[1, 2, 3, 4], [5, 6, 7, 8], [1, 2, 3, 4]}
  </code></pre>
  
  <ol>
  <li>Why it is returning false at <code>items.has([5,6,7,8])</code>?</li>
  <li>Why it is allowing duplicate values? I thought "A set is in an ordered list of values that cannot contain duplicates"</li>
  <li>How to access array added by <code>items.add([5,6,7,8])</code>?</li>
  </ol>