To me it just seems wrong to prevent this. This is in theory no different than a recursive call and just like recursion it can end up in an infinite loop.
You're right, it is no different *in theory*. It is, however, different in practice. If we allow click() to re-enter itself, popular websites stop working.
Having a limit seems OK since most JavaScript engines already have a limit on the size of the call stack.
The concern here isn't implementation complexity -- it's web compatibility. A standard that breaks the web is no standard at all.
Geoff
