https://en.wikibooks.org/wiki/Write_Yourself_a_Scheme_in_48_Hours/