setCursor(n) {
    if (
      n === this.left.length ||
      (n > this.left.length && this.right.length === 0) ||
      (n < 0 && this.left.length === 0)
    )
      return
    if (n < this.left.length) {
      // Move cursor to the this.left
      const removed = this.left.splice(n, Number.POSITIVE_INFINITY)
      chunkedPush(this.right, removed.reverse())
    } else {
      // Move cursor to the this.right
      const removed = this.right.splice(
        this.left.length + this.right.length - n,
        Number.POSITIVE_INFINITY
      )
      chunkedPush(this.left, removed.reverse())
    }
  }
Move the cursor to a specific position in the array. Requires
time proportional to the distance moved.

If `n < 0`, the cursor will end up at the beginning.
If `n > length`, the cursor will end up at the end.

@param {number} n
  Position.
@return {undefined}
  Nothing.