SICP — Scheme/JS Structure and Interpretation of Computer Programs — Comparison Edition
3.3  Modeling with Mutable Data