Exercise 2.50
Exercise 2.51
Exercise 2.52
Exercises 2.53-2.55