its elements
        must be adjusted to follow the movement of data. For instance, if we
        erase 3 elements, starting from index 0 from a 5 element vector, what
        used to be at index 4 will now be at index 1:
      </p>
      <pre>
    [a][b][c][d][e] ---&gt; [d][e]
                 ^           ^
                 4           1
</pre>
      <p>
        <strong><tt>adjust_index</tt></strong> takes care of the adjustment.
        Given a current index, the function should return the adjusted index