Cleaner code generated, need to rework AST and generate surrounding code.