Here's what I wrote about this in an earlier message:
> See Section 9.3 of your textbook for why this is a problem.
>
> But this note is there more to let you know that you can assume valid input here (the recursively defined identifier showing up only inside the body of function definitions) rather than specifying something you should catch.
>
> If you were to try to catch it, it's really more of a run-time problem since the "f" in the initialization expression refers to the same one being defined and is hence uninitialized.