code: function compare(a, b, index) {
    return (
      (a.charCodeAt(index) || 0) - (b.charCodeAt(index) || 0) ||
      compare(a, b, index + 1)
    )
  }
docs: This would create an infinite loop if `a` and `b` could be equal, but the list we operate on only has unique values.