anchor.diff:    }
   
     ItemRecord<V> _addToRemovals(ItemRecord<V> record) {
  -    if (_removedItems == null) _removedItems = new DuplicateMap();
  -    _removedItems.put(record);
  +    if (_unlinkedRecords == null) _unlinkedRecords = new DuplicateMap();
  +    _unlinkedRecords.put(record);
       record.currentIndex = null;
       record._nextRemoved = null;
   
  
positive.code:    * of 'b' rather then switch 'a' with 'b' and then add 'a' at the end.
     */
    ItemRecord<V> verifyReinsertion(ItemRecord record, item, int index) {
      ItemRecord<V> reinsertRecord = _removedItems == null ? null : _removedItems.get(item);
      if (reinsertRecord != null) {
        record = _reinsertAfter(reinsertRecord, record._prev, index);
      } else if (record.currentIndex != index) {
  
negative.code:   Iterable _iterable;
    int _length;
  
    /// Keeps track of the used records at any point in time (during & across `_check()` calls)
    DuplicateMap _linkedRecords;
  
    /// Keeps track of the removed records at any point in time during `_check()` calls.
    DuplicateMap _unlinkedRecords;
  
    ItemRecord<V> _previousItHead;
    ItemRecord<V> _itHead, _itTail;
  