Can insert intervals while preserving the marker invariant

The marker invariant states that a marker on a pointer between nodes X
and Y must satisfy the following conditions:

* containment:
  The marker's interval I contains X.index and Y.index, inclusively.
* maximality:
  There is no other forward pointer in the list describing an interval
  that contains X.index and Y.index that is also contained by I.

Intuitively, this means that all marked paths representing intervals
should be as short as possible.