In most object-oriented programming languages, our type choices are pretty limited. In Swift, however, we have numerous choices. This allows us to use the right type for the right situation. The one type we did not cover to deeply is the protocol. That is because we will be covering the protocols in more detail in Chapter 4, All about the Protocol. In this chapter, we also looked at the difference between value and reference types. This is a very important concept to understand and we will be discussing it throughout this book.