Rewrite compiler with monads and implement arithmetic
Implement let clause