SICP 2.21 - 2.23: Mapping over lists