vector-unfold! entry reads:

"Terminates when end-start+1 elements have been generated."

I believe it's intended to be "end-start elements".   'End' is always exclusive, right?
Then there's no point to generate one extra value and discard.

I guess it can be fixed by errata.