Como personalizar a igualdade de objetos para o conjunto JavaScript

O novo ES 6 (Harmony) introduz novosConjunto objeto. O algoritmo de identidade usado por Set é semelhante ao=== operador e, portanto, não é muito adequado para comparar objetos:

var set = new Set();
set.add({a:1});
set.add({a:1});
console.log([...set.values()]); // Array [ Object, Object ]

Como personalizar a igualdade dos objetos Set para fazer uma comparação profunda dos objetos? Existe algo como Javaequals(Object)?

questionAnswers(5)

yourAnswerToTheQuestion