SICP 2.30 - 2.31: Mapping over trees