To understand recursion, you must first understand recursion.
As I (fortunately not very often) tell the support people talking to my customers: "it can't be an endless loop. The program hasn't been released that long yet."
But really how could any FRee Republic thread be perfect without the compulsory "already been posted," rant? [I enjoy those almost as much as the idiots on usenet who would insist on wasting everybody's bandwidth flaming desperate and well-meaning n00bs for the unforgivable sin of cross-posting, because, well cross-posting wastes bandwidth. Duh.] If I weren't making billable hours at the moment, I'd've double posted it myself, or done one layer of indirection: http://www.google.com/search?hl=en&rls=com.microsoft%3Aen-us&q=the+perfect+fr+thread&aq=f&aqi=&aql=&oq=&gs_rfai=
Ages ago I worked in a computer environment called GNU which stood for "GNU is Not Unix"
My brain got a repeating error over that one