Destructuring and block scoping
Synthetic declaration doesn't get correctly deconflicted variable name. Demo
// in
let x;
if ( true ) {
let { x, y } = point;
console.log( x );
}
// out
var x;
if ( true ) {
var x = point.x, y = point.y;
console.log( x$1 );
}