docs: function(set) {
              if (set.length < 2) return set;
  
              var i = set.length - 1;
              while (i--) {
                  // If current and next overlap, merge them together into the first, removing the second
                  if (this.overlap(set[i], set[i + 1])) {
                      this.merge(set[i], set[i + 1], set[i]);
                      set.splice(i + 1, 1);
                  }
              }
  
              return set;
          }