One sense of polymorphism is that of a polymorphic variable. This is a variable that can hold, at different times, values of many different types.
Another sense is a name that is associated with many different function bodies. These different functions may or may not have an inheritance relationship with each other.
Yet another sense is a single function that has at least one argument which is, itself, a polymorphic variable.
We will investigate all of these different forms in this chapter.