Exercise 2.54
Exercise 2.56