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:   // has changed
    CollectionChangeRecord _identityChangesHead;
    CollectionChangeRecord _identityChangesTail;
  
    // Detect DartVM to special case string identical.
    static const bool _useIdentity = identical(1.0, 1);
  
    DefaultIterableDiffer([TrackByFn trackByFn])
        : _trackByFn = trackByFn ?? _trackByIdentity;
  
negative.code:     } else {
        prevRecord._next = record;
      }
      _linkedRecords ??= new _DuplicateMap();
      _linkedRecords.put(record);
      record.currentIndex = index;
      return record;
  