Runs a union node: one row per (input cell, key) across several inputs,
written into this node's own table.
Scoping
A claim on a union node carries its own provenance — the cell key is
"<input>|<key>" — so a claim names exactly which input moved, and only that
input is read. That is what makes N inputs safe here: nothing correlates
across them, so a partial claim is not a partial answer (contrast a cross-node
join, where a claim naming one side leaves the other unread and the fold
writes nulls over good data).
A whole-cell claim reads every input, which is the only time it does.
Summary
Functions
The [{key, row}] pairs a union pass produces — the caller materialises them
through the ordinary payload loop, so a union writes its rows exactly as any
other node does.