Directly write a cell (used by clear, cut, paste) as one history step.
void writeCell(int r, int c, String value) { final next = _clone(); next[r] = {...next[r], columns[c].key: value}; _apply(next); }