Exercise 4.3.7 solution