anchor.diff:  class _DuplicateMap {
     final Map<dynamic, _DuplicateItemRecordList> _map;
     _DuplicateMap() : _map = new Map.identity();
  -  _DuplicateMap.withHashcode() : _map = new Map();
   
     void put(CollectionChangeRecord record) {
       // todo(vicb) handle corner cases
  
positive.code:     } else {
        prevRecord._next = record;
      }
      _linkedRecords ??=
          _useIdentity ? new _DuplicateMap() : new _DuplicateMap.withHashcode();
      _linkedRecords.put(record);
      record.currentIndex = index;
      return record;
  
negative.code:   }
  
    CollectionChangeRecord _addToRemovals(CollectionChangeRecord record) {
      _unlinkedRecords ??= new _DuplicateMap();
      _unlinkedRecords.put(record);
      record.currentIndex = null;
      record._nextRemoved = null;
  