Just a note about the streamImages handler:
It uses setSession from yesod which means that when I'm in development mode and even do a fresh cabal clean && yesod devel , the counter for the next image is revered.
I'm pretty sure that clearing my browser cache will reset it, because it works inside an incognito tab.
This means when you curl that image, a new session is made on the backers, and image 0 is always returned.
Also, when using the /forward handler, image 0 is always returned.