Calling a function from the function itself is called "recursion". It's in fact a loop in disguise, in this case it loops until there is no
include element
in the replacement part. Each
include element calls the function again until there are no such elements, then all the functions return.
Read more on recursion.