recursion-optimization A set of Ruby methods for explaining normal recursion, memoized recursion, and tail recursion (with TCO turned on).