Going through SICP by way of Scheme