anchor.diff:  // parameters). Consider copying the functions from Collection into this class
   // and just implementing Collection<int>.
   class _ByteArrayViewBase extends Collection<int> {
  +  _ByteArrayViewBase(this._array, this._offset, this.length);
  +
     num operator[](int index);
   
     // Methods implementing the Collection interface.
  
positive.code:   }
  
    int lengthInBytes() {
      return _length * _BYTES_PER_ELEMENT;
    }
  
    ByteArray asByteArray([int start = 0, int length]) {
  
negative.code:   }
  
    static const int _BYTES_PER_ELEMENT = 2;
  }
  
  
  class _Int32ArrayView extends _ByteArrayViewBase implements Int32List {
    _Int32ArrayView(ByteArray array, [int offsetInBytes = 0, int _length])
      : super(array, _requireInteger(offsetInBytes),
        _requireIntegerOrNull(
          _length,
          ((array.lengthInBytes() - offsetInBytes) ~/ _BYTES_PER_ELEMENT))) {
      _rangeCheck(array.lengthInBytes(), _offset, length * _BYTES_PER_ELEMENT);
    }
  
    int operator[](int index) {
      if (index < 0 || index >= length) {
        String message = "$index must be in the range [0..$length)";
        throw new RangeError(message);
      }
      return _array.getInt32(_offset + (index * _BYTES_PER_ELEMENT));
    }
  
    void operator[]=(int index, int value) {
      if (index < 0 || index >= length) {
        String message = "$index must be in the range [0..$length)";
        throw new RangeError(message);
      }
      _array.setInt32(_offset + (index * _BYTES_PER_ELEMENT), _toInt32(value));
  