A neat little demonstration of instance_eval and recursion