Recursion occurs when a thing is defined in terms of itself or of its type. A recursive procedure is where, at least one of its steps call for a new instance of the very same procedure. Like a sourdough recipe, calling for some dough left over from the last time the same recipe was made. This immediately creates the possibility of a loop.