Solutions to problems in "Structure and interpretation of Computer Programs"