This loop ends by returning the initial bindings, but it should return the new binding

Nevermind, the problem is obvious. When the function is called with the argument of zero, then the error happens.

I would delete this but apparently I don’t have the permissions to delete this.

glad it worked out! Sounds like scoping and maybe a closure error?

I needed to add a guard clause for when the first argument was zero. The function ran correctly the first time, then died the second time through when the value was zero.