Good catch, I'll fix this. 

Although I am now confused that it worked in the first place. Would I be right to guess that the first time this function was executed, it would declare itself (shadowing the previous definition) so all subsequent invocations would work as intended?