anchor.diff:          return;
         }
       } on AsyncError catch (e) {
  -      _setError(e);
  -      return;
  +      error = e;
       } catch (e, s) {
         error = new AsyncError.withCause(e, s, error);
       }
  
positive.code:   Stream<T> asStream() => new Stream.fromFuture(this);
  
    void _setValue(T value) {
      if (_state != _INCOMPLETE) throw new StateError("Future already completed");
      _FutureListener listeners = _removeListeners();
      _state = _VALUE;
      _resultOrListeners = value;
  
negative.code:     } else {
        asyncError = new AsyncError(error, stackTrace);
      }
      _FutureImpl future = this.future;
      future._setError(asyncError);
    }
  }
  
  