tapNext(callbackFn, n) will allow a function to be passed which will be provided an iterable that has been peeked forward n values, the peek forword values or promises will be retained to use within the returned iterable
tapPrevious(callbackFn, n) will be the same but retaining the previous n values to be read again