Should work in Chrome now.

Amusingly, I was using some new features of javascript that haven't made
it there yet.  Easy enough to use the classical imperative loop.