In Example 2.4 the visual effect of friction isn't clear.
The goal of showing how to translate a formula into a p5.js force is achieved. However, the large inelastic collision updates in bounceEdges make the small friction force hard to see.
I imagine other readers might have a similar experience. Just wanted to share this in case it's helpful for a future revision.