Following through http://www.buildyourownlisp.com/ but implementing everything in rust