While driving on my way back home at the end of the day, I thought about the things that were very exciting to learn about during my early computing years. The notion of a function pointer was one of those things. I was very familiar with functions and variables. I was also familiar with the idea of using pointers and references to variables as a means of adding layers of indirection to those variables. However, I admit, I did not independently expand my understanding of the concept–increasing layers of indirection by using pointers–to functions.