anchor.diff:     * in order.
      *
      * 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 call `convert` and expand the events.
      */
     Stream expand(Iterable convert(T value)) {
       return new _ExpandStream<T, dynamic>(this, convert);
  
positive.code:    * cannot be reused after a call to this method.
     *
     * The returned stream is a broadcast stream if this stream is.
     */
    Stream<T> take(int count) {
      return new _TakeStream(this, count);
  
negative.code:    * event data, the returned stream will have the same events as this stream.
     *
     * The returned stream is a broadcast stream if this stream is.
     * For a broadcast stream, the events are only tested from the time
     * the returned stream is listened to.
     */
    Stream<T> skipWhile(bool test(T element)) {
      return new _SkipWhileStream(this, test);
  