Along the way it also scatters smaller ( but equally invaluable ) gems, like the elegant explanation of the difference between "scope" and "duration" in Chapter 3, or the careful exploration of how best to return error flags in Chapter 4.