Lesson 2: Haskell: types and typeclasses