I'm trying to understand what behavior we want from throttle, as this use case is not what I would expect.

I would expect to receive "four" since greater than 400ms has passed since the previous so why should it be throttled out?

This current implementation seems to cause the entire sequence to be delayed to throttle going forward, rather than backward.

In otherwords, once it receives an event it then waits 400ms before delivering it to determine if anything else arrives to supersede it.

That seems counter to what I'd want. I'd want to emit the first value after the last delivered value as long as `timeout` has passed would I not?

I can imagine use cases where one behavior would be preferable to the other, but it seems odd that the default would be the one that delays delivery rather than return the first within each window of time.

Is there an operator other than `throttle` that does what I'm suggesting?