+##How to do recursion with lower-case omega##
+
+##Generalizing##
+
+In general, **fixed point** of a function f is a value *x* such that f<em>x</em> is equivalent to *x*. For example, what is a fixed point of the function from natural numbers to their squares? What is a fixed point of the successor function?
+
+In the lambda calculus, we say a fixed point of an expression `f` is any formula `X` such that:
+
+ X <~~> f X
+
+What is a fixed point of the identity combinator I?
+
+It's a theorem of the lambda calculus that every formula has a fixed point. In fact, it will have infinitely many, syntactically distinct fixed points. And we don't just know that they exist: for any given formula, we can name many of them.
+
+Yes, even the formula that you're using the define the successor function will have a fixed point. Isn't that weird? Think about how it might be true.
+
+Well, you might think, only some of the formulas that we might give to the `successor` as arguments would really represent numbers. If we said something like:
+
+ successor make-pair
+
+who knows what we'd get back? Perhaps there's some non-number-representing formula such that when we feed it to `successor` as an argument, we get the same formula back.
+
+Yes! That's exactly right. And which formula this is will depend on the particular way you've implemented the successor function.
+
+Moreover, the recipes that enable us to name fixed points for any given formula aren't *guaranteed* to give us *terminating* fixed points. They might give us formulas X such that neither `X` nor `f X` have normal forms. (Indeed, what they give us for the square function isn't any of the Church numbers, but is rather an expression with no normal form.) However, if we take care we can ensure that we *do* get terminating fixed points. And this gives us a principled, fully general strategy for doing recursion. It lets us define even functions like the Ackermann function, which were until now out of our reach. It would let us define arithmetic and list functions on the "version 1" and "version 2" implementations, where it wasn't always clear how to force the computation to "keep going."
+
+[Explain in terms of an arbitrary fixed point combinator Ψ.]
+
+[Give some examples: first, versions of Y and Θ usable with call-by-value. Then do the internal eta-reductions and say these work for call-by-name only.]
+
+[Explain how what we've done relates to the version using lower-case ω.]