Summary of the key concepts covered in this activity
Type classes provide a set of function type signatures. Haskell has special keywords to create type classes. To create an instance, we create functions for a given type that match the signature of the type class.