Emits an Extend as one ->extend(~[<name>: <lambda>]) per column, in listed order, so a column can use the ones before it: one extend can't see its own columns ✅ (PLAN §11.7 Q3). Each lambda is the engine's JSON, marked with the Extend, so an engine error inside it lands on the node. Its patterns are refused where the editor refuses them (getEmitPatternProblem, PLAN §11.14).

The extend must be valid for its input schema.