anchor.diff:     *
      * The [onTimeout] function is called with one argument: an
      * [EventSink] that allows putting events into the returned stream.
  -   * This `EventSink` is only valid during the call to `onTimeout`.
  -   *
  -   * If `onTimeout` is omitted, a timeout will just put a [TimeoutException]
  +   * This `EventSink` is only valid during the call to [onTimeout].
  +   * Calling [EventSink.close] on the sink passed to [onTimeout] closes the
  +   * returned stream, and no futher events are processed.
  +   *
  +   * If [onTimeout] is omitted, a timeout will just put a [TimeoutException]
      * into the error channel of the returned stream.
  +   * If the call to [onTimeout] throws, the error is emitted on the returned
  +   * stream.
      *
      * The returned stream is a broadcast stream if this stream is.
      * If a broadcast stream is listened to more than once, each subscription
  
positive.code:    * Creates a new stream with the same events as this stream.
     *
     * Whenever more than [timeLimit] passes between two events from this stream,
     * the [onTimeout] function is called.
     *
     * The countdown doesn't start until the returned stream is listened to.
     * The countdown is reset every time an event is forwarded from this stream,
  
negative.code:   /**
     * Provides at most the first [count] data events of this stream.
     *
     * Returns a stream that emits the same events that this stream would
     * if listened to at the same time,
     * until either this stream ends or it has emitted [count] data events,
     * at which point the returned stream is done.
     *
     * If this stream produces fewer than [count] data events before it's done,
     * so will the returned stream.
  