System.register([], function (exports, module) {
	'use strict';
	return {
		execute: function () {

			const retained1 = () => globalVar ? retained1() : console.log( 'effect' );
			retained1();

			const retained2 = () => globalVar ? () => retained2()() : () => console.log( 'effect' );
			retained2()();

			const retained3 = () => globalVar ? retained3() : {};
			retained3().x.y = 3;

			const retained4 = () => globalVar ? retained4() : { x: () => console.log( 'effect' ) };
			retained4().x();

			const retained5 = {
				get x () {
					return globalVar ? retained5.x : console.log( 'effect' );
				}
			};
			retained5.x;

			const retained6 = {
				get x () {
					return globalVar ? retained6.x : () => console.log( 'effect' );
				}
			};
			retained6.x();

			const retained7 = {
				get x () {
					return globalVar ? retained7.x : {};
				}
			};
			retained7.x.y.z = 7;

			const retained8 = {
				get x () {
					return globalVar ? retained8.x : { y: () => console.log( 'effect' ) };
				}
			};
			retained8.x.y();

		}
	};
});
