Instead of parsing and executing a statement or declaration directly we
now parse them first and then execute in a separate step. This gives us
the flexibility to inspect the parsed declaration before execution.
Using this we now inspect parsed declarations, and if it's a single
declaration of form x = y we execute it as let x = y instead, fixing
To avoid any users of the modules I left execStmt and runDecls
unchanged and added execStmt' and runDecls' which work on parsed