Reimplemented the interpretor in Scheme using the De Bruijn notation
and a new variable lookup strategy (thanks to waterret).