Evaluate after let declaration

Resolves #615.

This is one option anyway, the disadvantage being it prints `Unit {}` after every `let` now. Thoughts?
You have to indent it this way in Haskell unless you use the `DoAndIfThenElse` language extension.