Although it's quite naive at the moment, I added two optimization passes. - dead code elimination (Closes #607) - inlining