anchor.diff:      if (index < 0) return null;
       // Use splice to remove the [cell] element at the index and
       // unlink the cell before returning its value.
  -    LinkedHashMapCell/*<K, V>*/ cell =
  -        JS('var', '#.splice(#, 1)[0]', bucket, index);
  +    LinkedHashMapCell cell = JS('var', '#.splice(#, 1)[0]', bucket, index);
       _unlinkCell(cell);
       // TODO(kasperl): Consider getting rid of the bucket list when
       // the length reaches zero.
  
positive.code: }
  
  class LinkedHashMapKeyIterator<E> implements Iterator<E> {
    final dynamic/*=JsLinkedHashMap<E, dynamic>*/ _map;
    final int _modifications;
    LinkedHashMapCell/*<E, dynamic>*/ _cell;
    E _current;
  
    LinkedHashMapKeyIterator(this._map, this._modifications) {
  
negative.code:     if (_isStringKey(key)) {
        var strings = _strings;
        if (strings == null) return null;
        LinkedHashMapCell cell = _getTableCell(strings, key);
        return (cell == null) ? null : cell.hashMapCellValue;
      } else if (_isNumericKey(key)) {
        var nums = _nums;
        if (nums == null) return null;
        LinkedHashMapCell cell = _getTableCell(nums, key);
        return (cell == null) ? null : cell.hashMapCellValue;
      } else {
        return internalGet(key);
  