In this section, we are going to talk about generics and traits.
Generics are going to allow us to have stand in types for our concrete types.
Traits are going to allow us to represent a capability that can be implemented in on many different
types.
So without further ado, let's jump right into it.