anchor.diff:      } else {
         asyncError = new AsyncError(error, stackTrace);
       }
  -    // Never complete an error in the same cycle. Otherwise users might
  -    // not have a chance to register their error-handlers.
  -    new Timer(0, (_) {
  -      _FutureImpl future = this.future;
  -      future._setError(asyncError);
  -    });
  +    _FutureImpl future = this.future;
  +    future._setError(asyncError);
     }
   }
   
  
positive.code:     } else {
        asyncError = new AsyncError(error, stackTrace);
      }
      new Timer(0, (_) { _setError(asyncError); });
    }
  
    factory _FutureImpl.wait(Iterable<Future> futures) {
      // TODO(ajohnsen): can we do better wrt the generic type T?
      if (futures.isEmpty) {
        return new Future<List>.immediate(const []);
      }
  
negative.code:   Stream<T> asStream() => new Stream.fromFuture(this);
  
    void _setValue(T value) {
      if (_isComplete) throw new StateError("Future already completed");
      _FutureListener listeners = _removeListeners();
      _state = _VALUE;
      _resultOrListeners = value;
  