Solutions to exercises in SICP