code: function set$$1(a, b) {
    			var innerEq,
    			    outerEq = true;
  
    			if (a.size !== b.size) {
  
    				// This optimization has certain quirks because of the lack of
    				// repetition counting. For instance, adding the same
    				// (reference-identical) element to two equivalent sets can
    				// make them non-equivalent.
    				return false;
    			}
  
    			a.forEach(function (aVal) {
  
    				// Short-circuit if the result is already known. (Using for...of
    				// with a break clause would be cleaner here, but it would cause
    				// a syntax error on older Javascript implementations even if
    				// Set is unused)
    				if (!outerEq) {
    					return;
    				}
  
    				innerEq = false;
  
    				b.forEach(function (bVal) {
    					var parentPairs;
  
    					// Likewise, short-circuit if the result is already known
    					if (innerEq) {
    						return;
    					}
  
    					// Swap out the global pairs list, as the nested call to
    					// innerEquiv will clobber its contents
    					parentPairs = pairs;
    					if (innerEquiv(bVal, aVal)) {
    						innerEq = true;
    					}
  
    					// Replace the global pairs list
    					pairs = parentPairs;
    				});
  
    				if (!innerEq) {
    					outerEq = false;
    				}
    			});
  
    			return outerEq;
    		}
docs: Define sets a and b to be equivalent if for each element aVal in a, there is some element bVal in b such that aVal and bVal are equivalent. Element repetitions are not counted, so these are equivalent: a = new Set( [ {}, [], [] ] ); b = new Set( [ {}, {}, [] ] );