Sicp 2.2.3-2.2.4
Tweaking and adding the prime? stuff