switch to an insaneopants recurive method of evaling lists, so that it can be async
switch nomenclature to statements since lists aren't the only valid result of a parse