interpreter refactoring
interpreter loop and parent search fixes
apply fn without args
eval fn with arguments