Add: 00000001 [A], <grid>(1 cols, 0 rows)
Status: 1 nodes, 1 undos, 0 redos
  Node changes:
    00000001 [A]: [A  tT      dD  ], <grid>(1 cols, 0 rows), Base: {X:i4}*
###
No conversion and no new column needed for this one
Cfg: 00000001 [A], <grid>(1 cols, 3 rows)
Status: 1 nodes, 2 undos, 0 redos
  Node changes:
    00000001 [A]: [           dD  ], <grid>(1 cols, 3 rows), Base: {X:i4}*; stale rows: 0-3
###
Sequence: Seq<{i4}>
 0) { X: 1 }
 1) { X: 2 }
 2) { X: 3 }
###
*** Undo(1)
Cfg: 00000001 [A], <grid>(1 cols, 0 rows)
Status: 1 nodes, 1 undos, 1 redos
  Node changes:
    00000001 [A]: [           dD  ], <grid>(1 cols, 0 rows), Base: {X:i4}*
###
Sequence: Seq<{i4}>
###
*** Redo(1)
Cfg: 00000001 [A], <grid>(1 cols, 3 rows)
Status: 1 nodes, 2 undos, 0 redos
  Node changes:
    00000001 [A]: [           dD  ], <grid>(1 cols, 3 rows), Base: {X:i4}*
###
Sequence: Seq<{i4}>
 0) { X: 1 }
 1) { X: 2 }
 2) { X: 3 }
###
This converts the column type and merges the clip values with existing column
Cfg: 00000001 [A], <grid>(1 cols, 4 rows)
Status: 1 nodes, 3 undos, 0 redos
  Node changes:
    00000001 [A]: [   tT      dD  ], <grid>(1 cols, 4 rows), Base: {X:r8}*; stale rows: 0-4
###
Sequence: Seq<{r8}>
 0) { X: 1 }
 1) { X: 4 }
 2) { X: 5 }
 3) { X: 3 }
###
*** Undo(1)
Cfg: 00000001 [A], <grid>(1 cols, 3 rows)
Status: 1 nodes, 2 undos, 1 redos
  Node changes:
    00000001 [A]: [   tT      dD  ], <grid>(1 cols, 3 rows), Base: {X:i4}*
###
Sequence: Seq<{i4}>
 0) { X: 1 }
 1) { X: 2 }
 2) { X: 3 }
###
*** Redo(1)
Cfg: 00000001 [A], <grid>(1 cols, 4 rows)
Status: 1 nodes, 3 undos, 0 redos
  Node changes:
    00000001 [A]: [   tT      dD  ], <grid>(1 cols, 4 rows), Base: {X:r8}*
###
Sequence: Seq<{r8}>
 0) { X: 1 }
 1) { X: 4 }
 2) { X: 5 }
 3) { X: 3 }
###
This converts the data clip values to the column type and merges with existing column
Cfg: 00000001 [A], <grid>(1 cols, 5 rows)
Status: 1 nodes, 4 undos, 0 redos
  Node changes:
    00000001 [A]: [           dD  ], <grid>(1 cols, 5 rows), Base: {X:r8}*; stale rows: 2
###
Sequence: Seq<{r8}>
 0) { X: 1 }
 1) { X: 4 }
 2) { X: 6 }
 3) { X: 5 }
 4) { X: 3 }
###
*** Undo(1)
Cfg: 00000001 [A], <grid>(1 cols, 4 rows)
Status: 1 nodes, 3 undos, 1 redos
  Node changes:
    00000001 [A]: [           dD  ], <grid>(1 cols, 4 rows), Base: {X:r8}*
###
Sequence: Seq<{r8}>
 0) { X: 1 }
 1) { X: 4 }
 2) { X: 5 }
 3) { X: 3 }
###
*** Redo(1)
Cfg: 00000001 [A], <grid>(1 cols, 5 rows)
Status: 1 nodes, 4 undos, 0 redos
  Node changes:
    00000001 [A]: [           dD  ], <grid>(1 cols, 5 rows), Base: {X:r8}*
###
Sequence: Seq<{r8}>
 0) { X: 1 }
 1) { X: 4 }
 2) { X: 6 }
 3) { X: 5 }
 4) { X: 3 }
###
This converts the column type to opt and sets some null values
Cfg: 00000001 [A], <grid>(1 cols, 7 rows)
Status: 1 nodes, 5 undos, 0 redos
  Node changes:
    00000001 [A]: [   tT      dD  ], <grid>(1 cols, 7 rows), Base: {X:r8?}*; stale rows: 0-7
###
Sequence: Seq<{r8}>
 0) { X: 1 }
 1) { X: 4 }
 2) { X: 11 }
 3) { X: <null> }
 4) { X: 6 }
 5) { X: 5 }
 6) { X: 3 }
###
*** Undo(1)
Cfg: 00000001 [A], <grid>(1 cols, 5 rows)
Status: 1 nodes, 4 undos, 1 redos
  Node changes:
    00000001 [A]: [   tT      dD  ], <grid>(1 cols, 5 rows), Base: {X:r8}*
###
Sequence: Seq<{r8}>
 0) { X: 1 }
 1) { X: 4 }
 2) { X: 6 }
 3) { X: 5 }
 4) { X: 3 }
###
*** Redo(1)
Cfg: 00000001 [A], <grid>(1 cols, 7 rows)
Status: 1 nodes, 5 undos, 0 redos
  Node changes:
    00000001 [A]: [   tT      dD  ], <grid>(1 cols, 7 rows), Base: {X:r8?}*
###
Sequence: Seq<{r8}>
 0) { X: 1 }
 1) { X: 4 }
 2) { X: 11 }
 3) { X: <null> }
 4) { X: 6 }
 5) { X: 5 }
 6) { X: 3 }
###
This copies from a clip of required values to a destination column of different and optional type
Cfg: 00000001 [A], <grid>(1 cols, 8 rows)
Status: 1 nodes, 6 undos, 0 redos
  Node changes:
    00000001 [A]: [           dD  ], <grid>(1 cols, 8 rows), Base: {X:r8?}*; stale rows: 0
###
Sequence: Seq<{r8}>
 0) { X: 20 }
 1) { X: 1 }
 2) { X: 4 }
 3) { X: 11 }
 4) { X: <null> }
 5) { X: 6 }
 6) { X: 5 }
 7) { X: 3 }
###
*** Undo(1)
Cfg: 00000001 [A], <grid>(1 cols, 7 rows)
Status: 1 nodes, 5 undos, 1 redos
  Node changes:
    00000001 [A]: [           dD  ], <grid>(1 cols, 7 rows), Base: {X:r8?}*
###
Sequence: Seq<{r8}>
 0) { X: 1 }
 1) { X: 4 }
 2) { X: 11 }
 3) { X: <null> }
 4) { X: 6 }
 5) { X: 5 }
 6) { X: 3 }
###
*** Redo(1)
Cfg: 00000001 [A], <grid>(1 cols, 8 rows)
Status: 1 nodes, 6 undos, 0 redos
  Node changes:
    00000001 [A]: [           dD  ], <grid>(1 cols, 8 rows), Base: {X:r8?}*
###
Sequence: Seq<{r8}>
 0) { X: 20 }
 1) { X: 1 }
 2) { X: 4 }
 3) { X: 11 }
 4) { X: <null> }
 5) { X: 6 }
 6) { X: 5 }
 7) { X: 3 }
###
This creates a new destination column from a boolean data clip with a single value
Cfg: 00000001 [A], <grid>(2 cols, 9 rows)
Status: 1 nodes, 7 undos, 0 redos
  Node changes:
    00000001 [A]: [   tT      dD  ], <grid>(2 cols, 9 rows), Base: {X:r8?, Y:b?}*; stale rows: 0-9
###
Sequence: Seq<{r8,bool}>
 0) { X: 20, Y: <null> }
 1) { X: 1, Y: <null> }
 2) { X: 4, Y: <null> }
 3) { X: <null>, Y: true  }
 4) { X: 11, Y: <null> }
 5) { X: <null>, Y: <null> }
 6) { X: 6, Y: <null> }
 7) { X: 5, Y: <null> }
 8) { X: 3, Y: <null> }
###
*** Undo(1)
Cfg: 00000001 [A], <grid>(1 cols, 8 rows)
Status: 1 nodes, 6 undos, 1 redos
  Node changes:
    00000001 [A]: [   tT      dD  ], <grid>(1 cols, 8 rows), Base: {X:r8?}*
###
Sequence: Seq<{r8}>
 0) { X: 20 }
 1) { X: 1 }
 2) { X: 4 }
 3) { X: 11 }
 4) { X: <null> }
 5) { X: 6 }
 6) { X: 5 }
 7) { X: 3 }
###
*** Redo(1)
Cfg: 00000001 [A], <grid>(2 cols, 9 rows)
Status: 1 nodes, 7 undos, 0 redos
  Node changes:
    00000001 [A]: [   tT      dD  ], <grid>(2 cols, 9 rows), Base: {X:r8?, Y:b?}*
###
Sequence: Seq<{r8,bool}>
 0) { X: 20, Y: <null> }
 1) { X: 1, Y: <null> }
 2) { X: 4, Y: <null> }
 3) { X: <null>, Y: true  }
 4) { X: 11, Y: <null> }
 5) { X: <null>, Y: <null> }
 6) { X: 6, Y: <null> }
 7) { X: 5, Y: <null> }
 8) { X: 3, Y: <null> }
###
This creates a new destination column from a string data clip
Cfg: 00000001 [A], <grid>(3 cols, 12 rows)
Status: 1 nodes, 8 undos, 0 redos
  Node changes:
    00000001 [A]: [   tT      dD  ], <grid>(3 cols, 12 rows), Base: {X:r8?, Y:b?, Z:s}*; stale rows: 0-12
###
Sequence: Seq<{r8,bool,str}>
 0) { X: 20, Y: <null>, Z: <null> }
 1) { X: 1, Y: <null>, Z: <null> }
 2) { X: 4, Y: <null>, Z: <null> }
 3) { X: <null>, Y: <null>, Z: a }
 4) { X: <null>, Y: <null>, Z: <null> }
 5) { X: <null>, Y: <null>, Z: c }
 6) { X: <null>, Y: true , Z: <null> }
 7) { X: 11, Y: <null>, Z: <null> }
 8) { X: <null>, Y: <null>, Z: <null> }
 9) { X: 6, Y: <null>, Z: <null> }
10) { X: 5, Y: <null>, Z: <null> }
11) { X: 3, Y: <null>, Z: <null> }
###
*** Undo(1)
Cfg: 00000001 [A], <grid>(2 cols, 9 rows)
Status: 1 nodes, 7 undos, 1 redos
  Node changes:
    00000001 [A]: [   tT      dD  ], <grid>(2 cols, 9 rows), Base: {X:r8?, Y:b?}*
###
Sequence: Seq<{r8,bool}>
 0) { X: 20, Y: <null> }
 1) { X: 1, Y: <null> }
 2) { X: 4, Y: <null> }
 3) { X: <null>, Y: true  }
 4) { X: 11, Y: <null> }
 5) { X: <null>, Y: <null> }
 6) { X: 6, Y: <null> }
 7) { X: 5, Y: <null> }
 8) { X: 3, Y: <null> }
###
*** Redo(1)
Cfg: 00000001 [A], <grid>(3 cols, 12 rows)
Status: 1 nodes, 8 undos, 0 redos
  Node changes:
    00000001 [A]: [   tT      dD  ], <grid>(3 cols, 12 rows), Base: {X:r8?, Y:b?, Z:s}*
###
Sequence: Seq<{r8,bool,str}>
 0) { X: 20, Y: <null>, Z: <null> }
 1) { X: 1, Y: <null>, Z: <null> }
 2) { X: 4, Y: <null>, Z: <null> }
 3) { X: <null>, Y: <null>, Z: a }
 4) { X: <null>, Y: <null>, Z: <null> }
 5) { X: <null>, Y: <null>, Z: c }
 6) { X: <null>, Y: true , Z: <null> }
 7) { X: 11, Y: <null>, Z: <null> }
 8) { X: <null>, Y: <null>, Z: <null> }
 9) { X: 6, Y: <null>, Z: <null> }
10) { X: 5, Y: <null>, Z: <null> }
11) { X: 3, Y: <null>, Z: <null> }
###
