anchor.diff:  
     /**
      * Creates a single-subscription stream that gets its data from [data].
  +   *
  +   * The iterable is iterated when the stream receives a listener, and stops
  +   * iterating if the listener cancels the subscription.
      *
      * If iterating [data] throws an error, the stream ends immediately with
      * that error. No done event will be sent (iteration is not complete), but no
  
positive.code:    * into the error channel of the returned stream.
     *
     * The returned stream is a broadcast stream if this stream is.
     */
    Stream timeout(Duration timeLimit, {void onTimeout(EventSink sink)}) {
      StreamController controller;
  
negative.code:    * but it only sends the data events that satisfy the [test].
     *
     * The returned stream is a broadcast stream if this stream is.
     * If a broadcast stream is listened to more than once, each subscription
     * will individually perform the `test`.
     */
    Stream<T> where(bool test(T event)) {
      return new _WhereStream<T>(this, test);
  