Exercise 4.3.6 solution