---
Update: oh, boy, now it causes a "too much recursion" error, and I have a sneaking suspicion it's not because it uses an unbounded amount of stack, just an ungodly large amount. If I turn Venkman (the javascript debugger) on, to figure out what's going on, then all of Firefox crashes. Woo!