stdlib-fence.ts:17:23 - error SC2020: 'Object.assign' is part of the standard library types but has no scriptc lowering yet

  16 | const merged = Object.assign({}, { a: 1 }); // the empty-target literal-source shape lowers now (it IS the source literal)
  17 | const aliasedAssign = Object.assign(merged, { b: 2 }); // aliased targets stay fenced (real mutation of a live object)
     |                       ^~~~~~~~~~~~~
  18 | const refl = Reflect.has({ a: 1 }, "a");

  hint: spread instead: { ...a, ...b } builds the merged record; what lowers: the empty-target literal-source shape (Object.assign({}, { ... }) IS the source literal) and merges INTO an index-signature record whose value slot every source value enters — other aliased targets are real mutation, and a function target (Object.assign(fn, { prop })) is a function-with-properties value the model cannot represent: bind the property separately

stdlib-fence.ts:19:18 - error SC2020: 'Date.parse' is part of the standard library types but has no scriptc lowering yet

  18 | const refl = Reflect.has({ a: 1 }, "a");
  19 | const parsedMs = Date.parse;
     |                  ^~~~~~~~~~
  20 | const fmt = new Intl.NumberFormat();

  hint: the type checker sees the full standard library, but only the supported surface compiles (https://scriptc.dev/limitations)

stdlib-fence.ts:20:7 - error SC2020: 'NumberFormat' is part of the standard library types but has no scriptc lowering yet

  19 | const parsedMs = Date.parse;
  20 | const fmt = new Intl.NumberFormat();
     |       ^~~
  21 | 

  hint: Intl formatter values have no representation — the COMPOSED forms lower: new Intl.NumberFormat("en-US").format(x), x.toLocaleString("en-US") and x.toLocaleString() with default options, d.toLocaleString(), d.toLocaleTimeString(), and Intl.Segmenter with grapheme or word granularity; the formatter objects themselves (locale negotiation, resolvedOptions, options bags) remain unsupported

stdlib-fence.ts:20:13 - error SC2020: 'new Intl.NumberFormat' is part of the standard library types but has no scriptc lowering yet

  19 | const parsedMs = Date.parse;
  20 | const fmt = new Intl.NumberFormat();
     |             ^~~~~~~~~~~~~~~~~~~~~~~
  21 | 

  hint: the type checker sees the full standard library, but only the supported surface compiles (https://scriptc.dev/limitations)

stdlib-fence.ts:23:11 - error SC2020: 'new Date with spread arguments' is part of the standard library types but has no scriptc lowering yet

  22 | // Constructors.
  23 | const d = new Date(...([2024, 0] as const)); // spread field arguments stay fenced
     |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  24 | const wr = new WeakRef({});

  hint: new Date(), new Date(milliseconds), new Date(dateString), and new Date(year, monthIndex, ...) with listed arguments are supported

stdlib-fence.ts:24:7 - error SC2020: 'WeakRef<{}>' is part of the standard library types but has no scriptc lowering yet

  23 | const d = new Date(...([2024, 0] as const)); // spread field arguments stay fenced
  24 | const wr = new WeakRef({});
     |       ^~
  25 | const px = new Proxy({ a: 1 }, {});

  hint: the type checker sees the full standard library, but only the supported surface compiles (https://scriptc.dev/limitations)

stdlib-fence.ts:24:12 - error SC2020: 'new WeakRef' is part of the standard library types but has no scriptc lowering yet

  23 | const d = new Date(...([2024, 0] as const)); // spread field arguments stay fenced
  24 | const wr = new WeakRef({});
     |            ^~~~~~~~~~~~~~~
  25 | const px = new Proxy({ a: 1 }, {});

  hint: deref()-after-collect exposes GC timing — genuinely dynamic; hold a strong reference instead

stdlib-fence.ts:39:31 - error SC1090: '.split()' on a 'RegExp | string' separator (pass a string, or a regex literal) is not supported yet

  38 | const norm = "abc".normalize();
  39 | const limited = "a,b,c".split(Math.random() ? "," : /,/, 2); // union separators stay fenced; limits lower
     |                               ^~~~~~~~~~~~~~~~~~~~~~~~~
  40 | const fixed = (1.5).toFixed(); // digit-free toFixed lowers now (the static ties-up integer)

stdlib-fence.ts:41:43 - error SC2020: 'Number.prototype.toLocaleString at locale "de-DE"' is part of the standard library types but has no scriptc lowering yet

  40 | const fixed = (1.5).toFixed(); // digit-free toFixed lowers now (the static ties-up integer)
  41 | const localized = (1234.5).toLocaleString("de-DE");
     |                                           ^~~~~~~
  42 | // Unlowered call FORMS of lowered members. (push is fully variadic now —

  hint: what lowers is the default locale (no argument) and the composed en-US form — other locales are ICU data the binary does not negotiate yet

stdlib-fence.ts:47:1 - error SC2020: '.forEach with 2 arguments' is part of the standard library types but has no scriptc lowering yet

  46 | const joined = nums.join(); // the omitted separator lowers
  47 | nums.forEach((x) => console.log(x), { unused: true }); // thisArg stays fenced
     | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  48 | const pos = "abc".includes("b", 1); // the position form lowers now (indexOf's clamp)

  hint: the thisArg parameter has no lowering — use an arrow function

stdlib-fence.ts:84:10 - error SC1090: comparisons of related class values beside structural union members (narrow first: check a discriminant field, or compare with '!== undefined'/'!== null' for unit arms) are not supported yet

  83 | function relatedStrict(a: FenceValue, b: FenceValue): boolean {
  84 |   return a === b;
     |          ^~~~~~~
  85 | }

stdlib-fence.ts:87:10 - error SC2020: 'Object.is over related class values beside structural union members' is part of the standard library types but has no scriptc lowering yet

  86 | function relatedSameValue(a: FenceValue, b: FenceSub): boolean {
  87 |   return Object.is(a, b);
     |          ^~~~~~~~~~~~~~~
  88 | }

  hint: narrow first: check a discriminant field, or compare with '!== undefined'/'!== null' for unit arms