sicp 3-25 and 3-26