SICP — Scheme/JS Structure and Interpretation of Computer Programs — Comparison Edition
2.4  Multiple Representations for Abstract Data