Work in progress on Exercise 4.3