Added support for `ForIterator` and `Pattern` to the synthetic naming (#1945)
Harmonized naming of temp variables for destructuring (#1945)
Fixed .src because of changes to naming of destructuring temp vars (#1945)
Added helper method for dealing with naming of `Destructure` elements (#1945)
Added transform dealing with `Destructure` and added 2 helper methods for getting the type or expression from an element that's either a `Variable` or a `Destructure` (#1945)
For destructuring we need to deal with multiple substitutions at once (#1945)
Simplified `VarDefBuilder` by moving the boxing and erasure code out to the calling environment. (#1945)
Added `buildDefOnly()` to `VarDefBuilder` to only get the variable definition witout its initial value.
Allow passing a null initial value to the transform methods of `Destructure`, `Pattern` and `Variable` (#1945)
Implemented support for destructuring in if-statements (#1945)
Fixed .src files that were changed because of changes to the generation of if-statements (#1945)