Emits a restrict as <input>->select(~[…]), listing the node's inferred columns, which are in the input's order: select keeps the order it is given (PLAN §8.8). The emitter checks they are a subsequence of the input, so a mismatch fails in Cube, not on the engine.