Related-work borrowables rejected

The related reading of 2026-06-03 surfaced candidate borrowings. One is proposed — stateful-handlers — and the following are rejected, recorded here so they are not re-proposed without new grounds.

Duplicate-label warning (Leijen §2.1)

A lint flagging duplicate labels in a closed record literal. Rejected: ral’s checker reports errors, not advisory warnings — a third diagnostic channel is a new surface to maintain — and a duplicate label is legal and meaningful under scoped labels, the same shadowing the spread idiom relies on; flagging legal idioms teaches users to distrust the feature (row-types, scoped-labels).

Static operation listing (--effects)

Listing a script’s syntactically evident external heads before running — a scope-based approximation of the requirement half that system-c and rows-and-handlers compute with types. Rejected: a computed head collapses the report to ⊤, so the listing is reliable exactly when the script is trivial — an audit surface that fails open invites false assurance. Authority questions are answered at run time by grant and post-hoc by audit.

Record restriction r − l (Leijen)

The third Leijen primitive, from which update and rename each derive in one line. Rejected: it re-admits un-shadowing at the data level; the override-then-expose idiom is deliberately routed through within on the dynamic context (scoped-labels, scoping).

Effect rows (Hillerström–Lindley)

Typing every arrow with an effect row. Rejected: ral’s operations already mean something — a handler shadows a meaning, never confers one — and the open external-command namespace makes static rows noise. The refusal is argued in full in rows-and-handlers.

Capability boxing (System C)

box/unbox as a selective crossing from dynamic authority into capability types. Rejected as a language feature: it contradicts the dynamic-authority commitment of syscalls-are-effects. It remains at most a research direction for the exarch boundary (system-c).