Refactoring to the Y-Combinator

A wonderful video of Jim Weirich refactoring a Javascript factorial solver into the mythical Y-Combinator function. The introductory explanations before the refactoring are worth the price of admission alone.