//// [initializersWidened.ts]
// these are widened to any at the point of assignment

var x1 = null;
var y1 = undefined;
var z1 = void 0;

// these are not widened

var x2: null;
var y2: undefined;

var x3: null = null;
var y3: undefined = undefined;
var z3: undefined = void 0;

// widen only when all constituents of union are widening

var x4 = null || null;
var y4 = undefined || undefined;
var z4 = void 0 || void 0;

var x5 = null || x2;
var y5 = undefined || y2;
var z5 = void 0 || y2;

//// [initializersWidened.js]
// these are widened to any at the point of assignment
var x1 = null;
var y1 = undefined;
var z1 = void 0;
// these are not widened
var x2;
var y2;
var x3 = null;
var y3 = undefined;
var z3 = void 0;
// widen only when all constituents of union are widening
var x4 = null || null;
var y4 = undefined || undefined;
var z4 = void 0 || void 0;
var x5 = null || x2;
var y5 = undefined || y2;
var z5 = void 0 || y2;
