The ability to dispatch to various methods based upon subtyping relationships is a key feature of the Julia language. We initially introduced the concept of parametric methods in Chapter 3, Designing Functions and Interfaces. In this section, we will go a little deeper and examine some subtle situations about how methods are selected for dispatch.
Let's start with the basics: how do we specify type variables for parametric methods?