* add new test case
* opt: conditionally apply the flatten transform
Only apply the flatten transform when the do expression contains Break/Continue/Return. This enables us to optimize the output since we don't have to memoize intermediate results.
* update test outputs
* remove unreachable code
variable declaration within for in/of can not have initializer.
* update test case to cover spread element
* add more test cases for early exit scenario
* make node 6 happy
* revert complex variable declaration removal