Examples of practical uses of recursion