Types of recursion — LessWrong