anchor.diff:     *
      * If this stream produces fewer than [count] values before it's done,
      * so will the returned stream.
  +   *
  +   * Stops listening to the stream after the first [n] elements have been
  +   * received.
  +   *
  +   * Internally the method cancels its subscription after these elements. This
  +   * means that single-subscription (non-broadcast) streams are closed and
  +   * cannot be reused after a call to this method.
      */
     Stream<T> take(int count) {
       return new _TakeStream(this, count);
  
positive.code:    * as [test] returns [:true:] for the event data. The stream is done
     * when either this stream is done, or when this stream first provides
     * a value that [test] doesn't accept.
     */
    Stream<T> takeWhile(bool test(T element)) {
      return new _TakeWhileStream(this, test);
  
negative.code:    * Checks whether [test] accepts any element provided by this stream.
     *
     * Completes the [Future] when the answer is known.
     *
     * If this stream reports an error, the [Future] reports that error.
     *
     * Stops listening to the stream after the first matching element has been
     * found.
     *
     * Internally the method cancels its subscription after this element. This
     * means that single-subscription (non-broadcast) streams are closed and
     * cannot be reused after a call to this method.
     */
    Future<bool> any(bool test(T element)) {
      _Future<bool> future = new _Future<bool>();
  