getelem(list, key, alt?) — list lookup by integer key, negative counts
from the end. If the element is absent and alt is a callable value, it
is invoked (with the uniform (inj, val, ref, store) shape — a fresh
throwaway injection, Noval value/store, empty ref) and its result used,
mirroring the canonical alt() call.
Internal raw lookup that PRESERVES a stored JSON null (Group B). Mirrors the
canonical TS _lookup (StructUtility.ts:477): Group B callers — validate /
transform commands / builders / inject internals — use this when they need
the raw stored value at a slot regardless of whether it is null. The public
get_prop / get_elem / has_key APIs treat null as absent (Group A) per
UNDEF_SPEC.md. Returns Noval only when the key is genuinely absent.
slice(val, start?, end?, mutate?) — sub-section of a list, string, or
bounded number. When val is a list and mutate is true, the list is
truncated/shifted in place (and the same list value is returned).
WalkApply — (key, val, parent, path) -> any. key is Noval at the
root and a Str for every descendant (matches the canonical, where
items always yields string keys).