{"ScriptPreparationCode":"function None() {\r\n}\r\nNone.prototype.tag = 0;\r\nconst none = new None();\r\nfunction Some(payload) {\r\n this.payload = payload;\r\n}\r\nSome.prototype.tag = 1;\r\n\r\nvar box = [];\r\nvar unbox = [];\r\nvar unbox2 = [];\r\nfor (let i = 0; i \u003C 1000; i\u002B\u002B) {\r\n box.push(i % 2 == 0 ? none : new Some(i));\r\n unbox.push(i % 2 == 0 ? undefined : i);\r\n unbox2.push(i % 2 == 0 ? 4294967296 : i \u002B 0);\r\n}\r\n\r\nfunction square(i) {\r\n return i * i | 0\r\n}","TestCases":[{"Name":"box","Code":"for (let i of box) {\r\n if (i.tag === 1) {\r\n square(i.payload)\r\n }\r\n}","IsDeferred":false},{"Name":"unbox","Code":"for (let i of unbox) {\r\n if (i !== undefined) {\r\n square(i)\r\n }\r\n}","IsDeferred":false},{"Name":"unbox2","Code":"for (let i of unbox2) {\r\n if (i === 4294967296) {\r\n square(i | 0)\r\n }\r\n}","IsDeferred":false}]}