Possible Abstractions for
Doubly-Linked Lists
lA problem is that Cell, an implementation concept, does not make an attractive abstraction.

lA preferable view is to think in terms of a list Iterator (or Cursor), which maintains a position within a list and can move backward or forward.
l
lThe Iterator determines an insertion point for a new value, or point before/after a value is removed.