Text this: Recursive programming techniques