anchor.diff:      return new _RangeList(_start + start * _step, _step, end - start);
     }
   
  +  @override
     String toString() {
       if (_length == 0) {
         return 'range()';
  
positive.code: 
    _RangeList(this._start, this._step, this._length);
  
    Iterator<num> get iterator {
      return new _RangeIterator(_start, _step, _length);
    }
  
    int get length => _length;
  
    num operator [] (int index) {
      if (0 <= index && index < _length) {
        return _start + _step * index;
  
negative.code: 
    _RangeIterator(this._start, this._step, this._length);
  
    @override
    num get current => _current;
  
    @override
    bool moveNext() {
      if (_index == _length) {
        _current = null;
  