The original design did not have the bidirectional component, just putting the high list at the end, but this performed poorly when data is in the reverse order, whereas this one performs just as well with data already mostly sorted in either direction.