pub fn peek(self: Pin<&mut Self>) -> Peek<'_, St> {
        Peek { inner: Some(self) }
    }
Produces a future which retrieves a reference to the next item
in the stream, or `None` if the underlying stream terminates.
futures-util/src/stream/stream/peek.rs