Add: 00000001 [A], <grid>(2 cols, 0 rows)
Status: 1 nodes, 1 undos, 0 redos
  Node changes:
    00000001 [A]: [A  tT      dD  ], <grid>(2 cols, 0 rows), Base: {A:i4, B:(i4, b?, s)}*
###
*** Undo(1)
Del: 00000001 [A], <grid>(2 cols, 0 rows)
Status: 0 nodes, 0 undos, 1 redos
###
*** Redo(1)
Add: 00000001 [A], <grid>(2 cols, 0 rows)
Status: 1 nodes, 1 undos, 0 redos
  Node changes:
    00000001 [A]: [A  tT      dD  ], <grid>(2 cols, 0 rows), Base: {A:i4, B:(i4, b?, s)}*
###
Cfg: 00000001 [A], <grid>(2 cols, 15 rows)
Status: 1 nodes, 2 undos, 0 redos
  Node changes:
    00000001 [A]: [           dD  ], <grid>(2 cols, 15 rows), Base: {A:i4, B:(i4, b?, s)}*; stale rows: 0-15
###
Sequence: Seq<{i4,(i4,Opt<bool>,str)}>
 0) { A: 0, B: (0, <null>, <null>) }
 1) { A: 0, B: (0, <null>, <null>) }
 2) { A: 0, B: (0, <null>, <null>) }
 3) { A: 0, B: (0, <null>, <null>) }
 4) { A: 0, B: (0, <null>, <null>) }
 5) { A: 0, B: (0, <null>, <null>) }
 6) { A: 0, B: (0, <null>, <null>) }
 7) { A: 0, B: (0, <null>, <null>) }
 8) { A: 0, B: (0, <null>, <null>) }
 9) { A: 0, B: (0, <null>, <null>) }
10) { A: 0, B: (0, <null>, <null>) }
11) { A: 0, B: (0, <null>, <null>) }
12) { A: 0, B: (0, <null>, <null>) }
13) { A: 0, B: (0, <null>, <null>) }
14) { A: 0, B: (0, <null>, <null>) }
###
*** Undo(1)
Cfg: 00000001 [A], <grid>(2 cols, 0 rows)
Status: 1 nodes, 1 undos, 1 redos
  Node changes:
    00000001 [A]: [           dD  ], <grid>(2 cols, 0 rows), Base: {A:i4, B:(i4, b?, s)}*
###
*** Redo(1)
Cfg: 00000001 [A], <grid>(2 cols, 15 rows)
Status: 1 nodes, 2 undos, 0 redos
  Node changes:
    00000001 [A]: [           dD  ], <grid>(2 cols, 15 rows), Base: {A:i4, B:(i4, b?, s)}*
###
Cfg: 00000001 [A], <grid>(2 cols, 22 rows)
Status: 1 nodes, 3 undos, 0 redos
  Node changes:
    00000001 [A]: [           dD  ], <grid>(2 cols, 22 rows), Base: {A:i4, B:(i4, b?, s)}*; stale rows: 3-10
###
Sequence: Seq<{i4,(i4,Opt<bool>,str)}>
 0) { A: 0, B: (0, <null>, <null>) }
 1) { A: 0, B: (0, <null>, <null>) }
 2) { A: 0, B: (0, <null>, <null>) }
 3) { A: 0, B: (0, <null>, <null>) }
 4) { A: 0, B: (0, <null>, <null>) }
 5) { A: 0, B: (0, <null>, <null>) }
 6) { A: 0, B: (0, <null>, <null>) }
 7) { A: 0, B: (0, <null>, <null>) }
 8) { A: 0, B: (0, <null>, <null>) }
 9) { A: 0, B: (0, <null>, <null>) }
10) { A: 0, B: (0, <null>, <null>) }
11) { A: 0, B: (0, <null>, <null>) }
12) { A: 0, B: (0, <null>, <null>) }
13) { A: 0, B: (0, <null>, <null>) }
14) { A: 0, B: (0, <null>, <null>) }
15) { A: 0, B: (0, <null>, <null>) }
16) { A: 0, B: (0, <null>, <null>) }
17) { A: 0, B: (0, <null>, <null>) }
18) { A: 0, B: (0, <null>, <null>) }
19) { A: 0, B: (0, <null>, <null>) }
20) { A: 0, B: (0, <null>, <null>) }
21) { A: 0, B: (0, <null>, <null>) }
###
*** Undo(1)
Cfg: 00000001 [A], <grid>(2 cols, 15 rows)
Status: 1 nodes, 2 undos, 1 redos
  Node changes:
    00000001 [A]: [           dD  ], <grid>(2 cols, 15 rows), Base: {A:i4, B:(i4, b?, s)}*
###
*** Redo(1)
Cfg: 00000001 [A], <grid>(2 cols, 22 rows)
Status: 1 nodes, 3 undos, 0 redos
  Node changes:
    00000001 [A]: [           dD  ], <grid>(2 cols, 22 rows), Base: {A:i4, B:(i4, b?, s)}*
###
Del: 00000001 [A], <grid>(2 cols, 22 rows)
Status: 0 nodes, 4 undos, 0 redos
###
*** Undo(1)
Add: 00000001 [A], <grid>(2 cols, 22 rows)
Status: 1 nodes, 3 undos, 1 redos
  Node changes:
    00000001 [A]: [A  tT      dD  ], <grid>(2 cols, 22 rows), Base: {A:i4, B:(i4, b?, s)}*
###
Sequence: Seq<{i4,(i4,Opt<bool>,str)}>
 0) { A: 0, B: (0, <null>, <null>) }
 1) { A: 0, B: (0, <null>, <null>) }
 2) { A: 0, B: (0, <null>, <null>) }
 3) { A: 0, B: (0, <null>, <null>) }
 4) { A: 0, B: (0, <null>, <null>) }
 5) { A: 0, B: (0, <null>, <null>) }
 6) { A: 0, B: (0, <null>, <null>) }
 7) { A: 0, B: (0, <null>, <null>) }
 8) { A: 0, B: (0, <null>, <null>) }
 9) { A: 0, B: (0, <null>, <null>) }
10) { A: 0, B: (0, <null>, <null>) }
11) { A: 0, B: (0, <null>, <null>) }
12) { A: 0, B: (0, <null>, <null>) }
13) { A: 0, B: (0, <null>, <null>) }
14) { A: 0, B: (0, <null>, <null>) }
15) { A: 0, B: (0, <null>, <null>) }
16) { A: 0, B: (0, <null>, <null>) }
17) { A: 0, B: (0, <null>, <null>) }
18) { A: 0, B: (0, <null>, <null>) }
19) { A: 0, B: (0, <null>, <null>) }
20) { A: 0, B: (0, <null>, <null>) }
21) { A: 0, B: (0, <null>, <null>) }
###
Cfg: 00000001 [A], <grid>(2 cols, 22 rows)
Status: 1 nodes, 4 undos, 0 redos
  Node changes:
    00000001 [A]: [           dD  ], <grid>(2 cols, 22 rows), Base: {A:i4, B:(i4, b?, s)}*; stale rows: 2, 21
###
Sequence: Seq<{i4,(i4,Opt<bool>,str)}>
 0) { A: 0, B: (0, <null>, <null>) }
 1) { A: 0, B: (0, <null>, <null>) }
 2) { A: -17, B: (0, <null>, <null>) }
 3) { A: 0, B: (0, <null>, <null>) }
 4) { A: 0, B: (0, <null>, <null>) }
 5) { A: 0, B: (0, <null>, <null>) }
 6) { A: 0, B: (0, <null>, <null>) }
 7) { A: 0, B: (0, <null>, <null>) }
 8) { A: 0, B: (0, <null>, <null>) }
 9) { A: 0, B: (0, <null>, <null>) }
10) { A: 0, B: (0, <null>, <null>) }
11) { A: 0, B: (0, <null>, <null>) }
12) { A: 0, B: (0, <null>, <null>) }
13) { A: 0, B: (0, <null>, <null>) }
14) { A: 0, B: (0, <null>, <null>) }
15) { A: 0, B: (0, <null>, <null>) }
16) { A: 0, B: (0, <null>, <null>) }
17) { A: 0, B: (0, <null>, <null>) }
18) { A: 0, B: (0, <null>, <null>) }
19) { A: 0, B: (0, <null>, <null>) }
20) { A: 0, B: (0, <null>, <null>) }
21) { A: 0, B: (3, true , hello) }
###
*** Undo(1)
Cfg: 00000001 [A], <grid>(2 cols, 22 rows)
Status: 1 nodes, 3 undos, 1 redos
  Node changes:
    00000001 [A]: [           dD  ], <grid>(2 cols, 22 rows), Base: {A:i4, B:(i4, b?, s)}*
###
Sequence: Seq<{i4,(i4,Opt<bool>,str)}>
 0) { A: 0, B: (0, <null>, <null>) }
 1) { A: 0, B: (0, <null>, <null>) }
 2) { A: 0, B: (0, <null>, <null>) }
 3) { A: 0, B: (0, <null>, <null>) }
 4) { A: 0, B: (0, <null>, <null>) }
 5) { A: 0, B: (0, <null>, <null>) }
 6) { A: 0, B: (0, <null>, <null>) }
 7) { A: 0, B: (0, <null>, <null>) }
 8) { A: 0, B: (0, <null>, <null>) }
 9) { A: 0, B: (0, <null>, <null>) }
10) { A: 0, B: (0, <null>, <null>) }
11) { A: 0, B: (0, <null>, <null>) }
12) { A: 0, B: (0, <null>, <null>) }
13) { A: 0, B: (0, <null>, <null>) }
14) { A: 0, B: (0, <null>, <null>) }
15) { A: 0, B: (0, <null>, <null>) }
16) { A: 0, B: (0, <null>, <null>) }
17) { A: 0, B: (0, <null>, <null>) }
18) { A: 0, B: (0, <null>, <null>) }
19) { A: 0, B: (0, <null>, <null>) }
20) { A: 0, B: (0, <null>, <null>) }
21) { A: 0, B: (0, <null>, <null>) }
###
*** Redo(1)
Cfg: 00000001 [A], <grid>(2 cols, 22 rows)
Status: 1 nodes, 4 undos, 0 redos
  Node changes:
    00000001 [A]: [           dD  ], <grid>(2 cols, 22 rows), Base: {A:i4, B:(i4, b?, s)}*
###
Sequence: Seq<{i4,(i4,Opt<bool>,str)}>
 0) { A: 0, B: (0, <null>, <null>) }
 1) { A: 0, B: (0, <null>, <null>) }
 2) { A: -17, B: (0, <null>, <null>) }
 3) { A: 0, B: (0, <null>, <null>) }
 4) { A: 0, B: (0, <null>, <null>) }
 5) { A: 0, B: (0, <null>, <null>) }
 6) { A: 0, B: (0, <null>, <null>) }
 7) { A: 0, B: (0, <null>, <null>) }
 8) { A: 0, B: (0, <null>, <null>) }
 9) { A: 0, B: (0, <null>, <null>) }
10) { A: 0, B: (0, <null>, <null>) }
11) { A: 0, B: (0, <null>, <null>) }
12) { A: 0, B: (0, <null>, <null>) }
13) { A: 0, B: (0, <null>, <null>) }
14) { A: 0, B: (0, <null>, <null>) }
15) { A: 0, B: (0, <null>, <null>) }
16) { A: 0, B: (0, <null>, <null>) }
17) { A: 0, B: (0, <null>, <null>) }
18) { A: 0, B: (0, <null>, <null>) }
19) { A: 0, B: (0, <null>, <null>) }
20) { A: 0, B: (0, <null>, <null>) }
21) { A: 0, B: (3, true , hello) }
###
*** UndoAll
Del: 00000001 [A], <grid>(2 cols, 22 rows)
Status: 0 nodes, 0 undos, 4 redos
###
*** RedoAll
Add: 00000001 [A], <grid>(2 cols, 22 rows)
Status: 1 nodes, 4 undos, 0 redos
  Node changes:
    00000001 [A]: [A  tT      dD  ], <grid>(2 cols, 22 rows), Base: {A:i4, B:(i4, b?, s)}*
###
Sequence: Seq<{i4,(i4,Opt<bool>,str)}>
 0) { A: 0, B: (0, <null>, <null>) }
 1) { A: 0, B: (0, <null>, <null>) }
 2) { A: -17, B: (0, <null>, <null>) }
 3) { A: 0, B: (0, <null>, <null>) }
 4) { A: 0, B: (0, <null>, <null>) }
 5) { A: 0, B: (0, <null>, <null>) }
 6) { A: 0, B: (0, <null>, <null>) }
 7) { A: 0, B: (0, <null>, <null>) }
 8) { A: 0, B: (0, <null>, <null>) }
 9) { A: 0, B: (0, <null>, <null>) }
10) { A: 0, B: (0, <null>, <null>) }
11) { A: 0, B: (0, <null>, <null>) }
12) { A: 0, B: (0, <null>, <null>) }
13) { A: 0, B: (0, <null>, <null>) }
14) { A: 0, B: (0, <null>, <null>) }
15) { A: 0, B: (0, <null>, <null>) }
16) { A: 0, B: (0, <null>, <null>) }
17) { A: 0, B: (0, <null>, <null>) }
18) { A: 0, B: (0, <null>, <null>) }
19) { A: 0, B: (0, <null>, <null>) }
20) { A: 0, B: (0, <null>, <null>) }
21) { A: 0, B: (3, true , hello) }
###
Cfg: 00000001 [A], <grid>(2 cols, 22 rows)
Status: 1 nodes, 5 undos, 0 redos
  Node changes:
    00000001 [A]: [           dD  ], <grid>(2 cols, 22 rows), Base: {A:i4, B:(i4, b?, s)}*; stale rows: 0-11, 12-22
###
Sequence: Seq<{i4,(i4,Opt<bool>,str)}>
 0) { A: 1, B: (0, true , 0) }
 1) { A: 2, B: (-1, false, 2) }
 2) { A: 3, B: (-2, true , 4) }
 3) { A: 4, B: (-3, false, 6) }
 4) { A: 5, B: (-4, true , 8) }
 5) { A: 6, B: (-5, false, 10) }
 6) { A: 7, B: (-6, true , 12) }
 7) { A: 8, B: (-7, false, 14) }
 8) { A: 9, B: (-8, true , 16) }
 9) { A: 10, B: (-9, false, 18) }
10) { A: 11, B: (-10, true , 20) }
11) { A: 0, B: (0, <null>, <null>) }
12) { A: 13, B: (-12, true , 24) }
13) { A: 14, B: (-13, false, 26) }
14) { A: 15, B: (-14, true , 28) }
15) { A: 16, B: (-15, false, 30) }
16) { A: 17, B: (-16, true , 32) }
17) { A: 18, B: (-17, false, 34) }
18) { A: 19, B: (-18, true , 36) }
19) { A: 20, B: (-19, false, 38) }
20) { A: 21, B: (-20, true , 40) }
21) { A: 22, B: (-21, false, 42) }
###
*** Undo(1)
Cfg: 00000001 [A], <grid>(2 cols, 22 rows)
Status: 1 nodes, 4 undos, 1 redos
  Node changes:
    00000001 [A]: [           dD  ], <grid>(2 cols, 22 rows), Base: {A:i4, B:(i4, b?, s)}*
###
Sequence: Seq<{i4,(i4,Opt<bool>,str)}>
 0) { A: 0, B: (0, <null>, <null>) }
 1) { A: 0, B: (0, <null>, <null>) }
 2) { A: -17, B: (0, <null>, <null>) }
 3) { A: 0, B: (0, <null>, <null>) }
 4) { A: 0, B: (0, <null>, <null>) }
 5) { A: 0, B: (0, <null>, <null>) }
 6) { A: 0, B: (0, <null>, <null>) }
 7) { A: 0, B: (0, <null>, <null>) }
 8) { A: 0, B: (0, <null>, <null>) }
 9) { A: 0, B: (0, <null>, <null>) }
10) { A: 0, B: (0, <null>, <null>) }
11) { A: 0, B: (0, <null>, <null>) }
12) { A: 0, B: (0, <null>, <null>) }
13) { A: 0, B: (0, <null>, <null>) }
14) { A: 0, B: (0, <null>, <null>) }
15) { A: 0, B: (0, <null>, <null>) }
16) { A: 0, B: (0, <null>, <null>) }
17) { A: 0, B: (0, <null>, <null>) }
18) { A: 0, B: (0, <null>, <null>) }
19) { A: 0, B: (0, <null>, <null>) }
20) { A: 0, B: (0, <null>, <null>) }
21) { A: 0, B: (3, true , hello) }
###
Cfg: 00000001 [A], <grid>(2 cols, 22 rows)
Status: 1 nodes, 5 undos, 0 redos
  Node changes:
    00000001 [A]: [           dD  ], <grid>(2 cols, 22 rows), Base: {A:i4, B:(i4, b?, s)}*; stale rows: 5-10, 11-21
###
Sequence: Seq<{i4,(i4,Opt<bool>,str)}>
 0) { A: 0, B: (0, <null>, <null>) }
 1) { A: 0, B: (0, <null>, <null>) }
 2) { A: -17, B: (0, <null>, <null>) }
 3) { A: 0, B: (0, <null>, <null>) }
 4) { A: 0, B: (0, <null>, <null>) }
 5) { A: 1, B: (0, <null>, <null>) }
 6) { A: 2, B: (0, <null>, <null>) }
 7) { A: 3, B: (0, <null>, <null>) }
 8) { A: 4, B: (0, <null>, <null>) }
 9) { A: 5, B: (0, <null>, <null>) }
10) { A: 0, B: (0, <null>, <null>) }
11) { A: 0, B: (0, true , 0) }
12) { A: 0, B: (-1, false, 2) }
13) { A: 0, B: (-2, true , 4) }
14) { A: 0, B: (-3, false, 6) }
15) { A: 0, B: (-4, true , 8) }
16) { A: 0, B: (-5, false, 10) }
17) { A: 0, B: (-6, true , 12) }
18) { A: 0, B: (-7, false, 14) }
19) { A: 0, B: (-8, true , 16) }
20) { A: 0, B: (-9, false, 18) }
21) { A: 0, B: (3, true , hello) }
###
*** Undo(1)
Cfg: 00000001 [A], <grid>(2 cols, 22 rows)
Status: 1 nodes, 4 undos, 1 redos
  Node changes:
    00000001 [A]: [           dD  ], <grid>(2 cols, 22 rows), Base: {A:i4, B:(i4, b?, s)}*
###
Sequence: Seq<{i4,(i4,Opt<bool>,str)}>
 0) { A: 0, B: (0, <null>, <null>) }
 1) { A: 0, B: (0, <null>, <null>) }
 2) { A: -17, B: (0, <null>, <null>) }
 3) { A: 0, B: (0, <null>, <null>) }
 4) { A: 0, B: (0, <null>, <null>) }
 5) { A: 0, B: (0, <null>, <null>) }
 6) { A: 0, B: (0, <null>, <null>) }
 7) { A: 0, B: (0, <null>, <null>) }
 8) { A: 0, B: (0, <null>, <null>) }
 9) { A: 0, B: (0, <null>, <null>) }
10) { A: 0, B: (0, <null>, <null>) }
11) { A: 0, B: (0, <null>, <null>) }
12) { A: 0, B: (0, <null>, <null>) }
13) { A: 0, B: (0, <null>, <null>) }
14) { A: 0, B: (0, <null>, <null>) }
15) { A: 0, B: (0, <null>, <null>) }
16) { A: 0, B: (0, <null>, <null>) }
17) { A: 0, B: (0, <null>, <null>) }
18) { A: 0, B: (0, <null>, <null>) }
19) { A: 0, B: (0, <null>, <null>) }
20) { A: 0, B: (0, <null>, <null>) }
21) { A: 0, B: (3, true , hello) }
###
Cfg: 00000001 [A], <grid>(2 cols, 22 rows)
Status: 1 nodes, 5 undos, 0 redos
  Node changes:
    00000001 [A]: [           dD  ], <grid>(2 cols, 22 rows), Base: {A:i4, B:(i4, b?, s)}*; stale rows: 1-18
###
Sequence: Seq<{i4,(i4,Opt<bool>,str)}>
 0) { A: 0, B: (0, <null>, <null>) }
 1) { A: 1, B: (0, <null>, <null>) }
 2) { A: 2, B: (0, <null>, <null>) }
 3) { A: 3, B: (0, <null>, <null>) }
 4) { A: 4, B: (0, <null>, <null>) }
 5) { A: 5, B: (0, <null>, <null>) }
 6) { A: 6, B: (0, <null>, <null>) }
 7) { A: 7, B: (0, <null>, <null>) }
 8) { A: 8, B: (0, true , 0) }
 9) { A: 9, B: (-1, false, 2) }
10) { A: 10, B: (-2, true , 4) }
11) { A: 0, B: (-3, false, 6) }
12) { A: 0, B: (-4, true , 8) }
13) { A: 0, B: (-5, false, 10) }
14) { A: 0, B: (-6, true , 12) }
15) { A: 0, B: (-7, false, 14) }
16) { A: 0, B: (-8, true , 16) }
17) { A: 0, B: (-9, false, 18) }
18) { A: 0, B: (0, <null>, <null>) }
19) { A: 0, B: (0, <null>, <null>) }
20) { A: 0, B: (0, <null>, <null>) }
21) { A: 0, B: (3, true , hello) }
###
*** Undo(1)
Cfg: 00000001 [A], <grid>(2 cols, 22 rows)
Status: 1 nodes, 4 undos, 1 redos
  Node changes:
    00000001 [A]: [           dD  ], <grid>(2 cols, 22 rows), Base: {A:i4, B:(i4, b?, s)}*
###
Sequence: Seq<{i4,(i4,Opt<bool>,str)}>
 0) { A: 0, B: (0, <null>, <null>) }
 1) { A: 0, B: (0, <null>, <null>) }
 2) { A: -17, B: (0, <null>, <null>) }
 3) { A: 0, B: (0, <null>, <null>) }
 4) { A: 0, B: (0, <null>, <null>) }
 5) { A: 0, B: (0, <null>, <null>) }
 6) { A: 0, B: (0, <null>, <null>) }
 7) { A: 0, B: (0, <null>, <null>) }
 8) { A: 0, B: (0, <null>, <null>) }
 9) { A: 0, B: (0, <null>, <null>) }
10) { A: 0, B: (0, <null>, <null>) }
11) { A: 0, B: (0, <null>, <null>) }
12) { A: 0, B: (0, <null>, <null>) }
13) { A: 0, B: (0, <null>, <null>) }
14) { A: 0, B: (0, <null>, <null>) }
15) { A: 0, B: (0, <null>, <null>) }
16) { A: 0, B: (0, <null>, <null>) }
17) { A: 0, B: (0, <null>, <null>) }
18) { A: 0, B: (0, <null>, <null>) }
19) { A: 0, B: (0, <null>, <null>) }
20) { A: 0, B: (0, <null>, <null>) }
21) { A: 0, B: (3, true , hello) }
###
*** Redo(1)
Cfg: 00000001 [A], <grid>(2 cols, 22 rows)
Status: 1 nodes, 5 undos, 0 redos
  Node changes:
    00000001 [A]: [           dD  ], <grid>(2 cols, 22 rows), Base: {A:i4, B:(i4, b?, s)}*
###
Sequence: Seq<{i4,(i4,Opt<bool>,str)}>
 0) { A: 0, B: (0, <null>, <null>) }
 1) { A: 1, B: (0, <null>, <null>) }
 2) { A: 2, B: (0, <null>, <null>) }
 3) { A: 3, B: (0, <null>, <null>) }
 4) { A: 4, B: (0, <null>, <null>) }
 5) { A: 5, B: (0, <null>, <null>) }
 6) { A: 6, B: (0, <null>, <null>) }
 7) { A: 7, B: (0, <null>, <null>) }
 8) { A: 8, B: (0, true , 0) }
 9) { A: 9, B: (-1, false, 2) }
10) { A: 10, B: (-2, true , 4) }
11) { A: 0, B: (-3, false, 6) }
12) { A: 0, B: (-4, true , 8) }
13) { A: 0, B: (-5, false, 10) }
14) { A: 0, B: (-6, true , 12) }
15) { A: 0, B: (-7, false, 14) }
16) { A: 0, B: (-8, true , 16) }
17) { A: 0, B: (-9, false, 18) }
18) { A: 0, B: (0, <null>, <null>) }
19) { A: 0, B: (0, <null>, <null>) }
20) { A: 0, B: (0, <null>, <null>) }
21) { A: 0, B: (3, true , hello) }
###
Cfg: 00000001 [A], <grid>(2 cols, 16 rows)
Status: 1 nodes, 6 undos, 0 redos
  Node changes:
    00000001 [A]: [           dD  ], <grid>(2 cols, 16 rows), Base: {A:i4, B:(i4, b?, s)}*
###
Sequence: Seq<{i4,(i4,Opt<bool>,str)}>
 0) { A: 0, B: (0, <null>, <null>) }
 1) { A: 1, B: (0, <null>, <null>) }
 2) { A: 2, B: (0, <null>, <null>) }
 3) { A: 3, B: (0, <null>, <null>) }
 4) { A: 4, B: (0, <null>, <null>) }
 5) { A: 5, B: (0, <null>, <null>) }
 6) { A: 6, B: (0, <null>, <null>) }
 7) { A: 7, B: (0, <null>, <null>) }
 8) { A: 8, B: (0, true , 0) }
 9) { A: 9, B: (-1, false, 2) }
10) { A: 10, B: (-2, true , 4) }
11) { A: 0, B: (-9, false, 18) }
12) { A: 0, B: (0, <null>, <null>) }
13) { A: 0, B: (0, <null>, <null>) }
14) { A: 0, B: (0, <null>, <null>) }
15) { A: 0, B: (3, true , hello) }
###
*** Undo(1)
Cfg: 00000001 [A], <grid>(2 cols, 22 rows)
Status: 1 nodes, 5 undos, 1 redos
  Node changes:
    00000001 [A]: [           dD  ], <grid>(2 cols, 22 rows), Base: {A:i4, B:(i4, b?, s)}*
###
Sequence: Seq<{i4,(i4,Opt<bool>,str)}>
 0) { A: 0, B: (0, <null>, <null>) }
 1) { A: 1, B: (0, <null>, <null>) }
 2) { A: 2, B: (0, <null>, <null>) }
 3) { A: 3, B: (0, <null>, <null>) }
 4) { A: 4, B: (0, <null>, <null>) }
 5) { A: 5, B: (0, <null>, <null>) }
 6) { A: 6, B: (0, <null>, <null>) }
 7) { A: 7, B: (0, <null>, <null>) }
 8) { A: 8, B: (0, true , 0) }
 9) { A: 9, B: (-1, false, 2) }
10) { A: 10, B: (-2, true , 4) }
11) { A: 0, B: (-3, false, 6) }
12) { A: 0, B: (-4, true , 8) }
13) { A: 0, B: (-5, false, 10) }
14) { A: 0, B: (-6, true , 12) }
15) { A: 0, B: (-7, false, 14) }
16) { A: 0, B: (-8, true , 16) }
17) { A: 0, B: (-9, false, 18) }
18) { A: 0, B: (0, <null>, <null>) }
19) { A: 0, B: (0, <null>, <null>) }
20) { A: 0, B: (0, <null>, <null>) }
21) { A: 0, B: (3, true , hello) }
###
*** Redo(1)
Cfg: 00000001 [A], <grid>(2 cols, 16 rows)
Status: 1 nodes, 6 undos, 0 redos
  Node changes:
    00000001 [A]: [           dD  ], <grid>(2 cols, 16 rows), Base: {A:i4, B:(i4, b?, s)}*
###
Sequence: Seq<{i4,(i4,Opt<bool>,str)}>
 0) { A: 0, B: (0, <null>, <null>) }
 1) { A: 1, B: (0, <null>, <null>) }
 2) { A: 2, B: (0, <null>, <null>) }
 3) { A: 3, B: (0, <null>, <null>) }
 4) { A: 4, B: (0, <null>, <null>) }
 5) { A: 5, B: (0, <null>, <null>) }
 6) { A: 6, B: (0, <null>, <null>) }
 7) { A: 7, B: (0, <null>, <null>) }
 8) { A: 8, B: (0, true , 0) }
 9) { A: 9, B: (-1, false, 2) }
10) { A: 10, B: (-2, true , 4) }
11) { A: 0, B: (-9, false, 18) }
12) { A: 0, B: (0, <null>, <null>) }
13) { A: 0, B: (0, <null>, <null>) }
14) { A: 0, B: (0, <null>, <null>) }
15) { A: 0, B: (3, true , hello) }
###
*** UndoAll
Del: 00000001 [A], <grid>(2 cols, 16 rows)
Status: 0 nodes, 0 undos, 6 redos
###
*** RedoAll
Add: 00000001 [A], <grid>(2 cols, 16 rows)
Status: 1 nodes, 6 undos, 0 redos
  Node changes:
    00000001 [A]: [A  tT      dD  ], <grid>(2 cols, 16 rows), Base: {A:i4, B:(i4, b?, s)}*
###
Sequence: Seq<{i4,(i4,Opt<bool>,str)}>
 0) { A: 0, B: (0, <null>, <null>) }
 1) { A: 1, B: (0, <null>, <null>) }
 2) { A: 2, B: (0, <null>, <null>) }
 3) { A: 3, B: (0, <null>, <null>) }
 4) { A: 4, B: (0, <null>, <null>) }
 5) { A: 5, B: (0, <null>, <null>) }
 6) { A: 6, B: (0, <null>, <null>) }
 7) { A: 7, B: (0, <null>, <null>) }
 8) { A: 8, B: (0, true , 0) }
 9) { A: 9, B: (-1, false, 2) }
10) { A: 10, B: (-2, true , 4) }
11) { A: 0, B: (-9, false, 18) }
12) { A: 0, B: (0, <null>, <null>) }
13) { A: 0, B: (0, <null>, <null>) }
14) { A: 0, B: (0, <null>, <null>) }
15) { A: 0, B: (3, true , hello) }
###
Cfg: 00000001 [A], <grid>(2 cols, 0 rows)
Status: 1 nodes, 7 undos, 0 redos
  Node changes:
    00000001 [A]: [           dD  ], <grid>(2 cols, 0 rows), Base: {A:i4, B:(i4, b?, s)}*
###
*** Undo(1)
Cfg: 00000001 [A], <grid>(2 cols, 16 rows)
Status: 1 nodes, 6 undos, 1 redos
  Node changes:
    00000001 [A]: [           dD  ], <grid>(2 cols, 16 rows), Base: {A:i4, B:(i4, b?, s)}*
###
Sequence: Seq<{i4,(i4,Opt<bool>,str)}>
 0) { A: 0, B: (0, <null>, <null>) }
 1) { A: 1, B: (0, <null>, <null>) }
 2) { A: 2, B: (0, <null>, <null>) }
 3) { A: 3, B: (0, <null>, <null>) }
 4) { A: 4, B: (0, <null>, <null>) }
 5) { A: 5, B: (0, <null>, <null>) }
 6) { A: 6, B: (0, <null>, <null>) }
 7) { A: 7, B: (0, <null>, <null>) }
 8) { A: 8, B: (0, true , 0) }
 9) { A: 9, B: (-1, false, 2) }
10) { A: 10, B: (-2, true , 4) }
11) { A: 0, B: (-9, false, 18) }
12) { A: 0, B: (0, <null>, <null>) }
13) { A: 0, B: (0, <null>, <null>) }
14) { A: 0, B: (0, <null>, <null>) }
15) { A: 0, B: (3, true , hello) }
###
*** Redo(1)
Cfg: 00000001 [A], <grid>(2 cols, 0 rows)
Status: 1 nodes, 7 undos, 0 redos
  Node changes:
    00000001 [A]: [           dD  ], <grid>(2 cols, 0 rows), Base: {A:i4, B:(i4, b?, s)}*
###
Sequence: Seq<{i4,(i4,Opt<bool>,str)}>
###
*** Undo(1)
Cfg: 00000001 [A], <grid>(2 cols, 16 rows)
Status: 1 nodes, 6 undos, 1 redos
  Node changes:
    00000001 [A]: [           dD  ], <grid>(2 cols, 16 rows), Base: {A:i4, B:(i4, b?, s)}*
###
Cfg: 00000001 [A], <grid>(2 cols, 28 rows)
Status: 1 nodes, 7 undos, 0 redos
  Node changes:
    00000001 [A]: [           dD  ], <grid>(2 cols, 28 rows), Base: {A:i4, B:(i4, b?, s)}*; stale rows: 8-20
###
Sequence: Seq<{i4,(i4,Opt<bool>,str)}>
 0) { A: 0, B: (0, <null>, <null>) }
 1) { A: 1, B: (0, <null>, <null>) }
 2) { A: 2, B: (0, <null>, <null>) }
 3) { A: 3, B: (0, <null>, <null>) }
 4) { A: 4, B: (0, <null>, <null>) }
 5) { A: 5, B: (0, <null>, <null>) }
 6) { A: 6, B: (0, <null>, <null>) }
 7) { A: 7, B: (0, <null>, <null>) }
 8) { A: 2, B: (0, <null>, <null>) }
 9) { A: 3, B: (0, <null>, <null>) }
10) { A: 4, B: (0, <null>, <null>) }
11) { A: 5, B: (0, <null>, <null>) }
12) { A: 6, B: (0, <null>, <null>) }
13) { A: 7, B: (0, <null>, <null>) }
14) { A: 8, B: (0, true , 0) }
15) { A: 9, B: (-1, false, 2) }
16) { A: 10, B: (-2, true , 4) }
17) { A: 0, B: (-9, false, 18) }
18) { A: 0, B: (0, <null>, <null>) }
19) { A: 0, B: (0, <null>, <null>) }
20) { A: 8, B: (0, true , 0) }
21) { A: 9, B: (-1, false, 2) }
22) { A: 10, B: (-2, true , 4) }
23) { A: 0, B: (-9, false, 18) }
24) { A: 0, B: (0, <null>, <null>) }
25) { A: 0, B: (0, <null>, <null>) }
26) { A: 0, B: (0, <null>, <null>) }
27) { A: 0, B: (3, true , hello) }
###
*** Undo(1)
Cfg: 00000001 [A], <grid>(2 cols, 16 rows)
Status: 1 nodes, 6 undos, 1 redos
  Node changes:
    00000001 [A]: [           dD  ], <grid>(2 cols, 16 rows), Base: {A:i4, B:(i4, b?, s)}*
###
Sequence: Seq<{i4,(i4,Opt<bool>,str)}>
 0) { A: 0, B: (0, <null>, <null>) }
 1) { A: 1, B: (0, <null>, <null>) }
 2) { A: 2, B: (0, <null>, <null>) }
 3) { A: 3, B: (0, <null>, <null>) }
 4) { A: 4, B: (0, <null>, <null>) }
 5) { A: 5, B: (0, <null>, <null>) }
 6) { A: 6, B: (0, <null>, <null>) }
 7) { A: 7, B: (0, <null>, <null>) }
 8) { A: 8, B: (0, true , 0) }
 9) { A: 9, B: (-1, false, 2) }
10) { A: 10, B: (-2, true , 4) }
11) { A: 0, B: (-9, false, 18) }
12) { A: 0, B: (0, <null>, <null>) }
13) { A: 0, B: (0, <null>, <null>) }
14) { A: 0, B: (0, <null>, <null>) }
15) { A: 0, B: (3, true , hello) }
###
*** Redo(1)
Cfg: 00000001 [A], <grid>(2 cols, 28 rows)
Status: 1 nodes, 7 undos, 0 redos
  Node changes:
    00000001 [A]: [           dD  ], <grid>(2 cols, 28 rows), Base: {A:i4, B:(i4, b?, s)}*
###
Sequence: Seq<{i4,(i4,Opt<bool>,str)}>
 0) { A: 0, B: (0, <null>, <null>) }
 1) { A: 1, B: (0, <null>, <null>) }
 2) { A: 2, B: (0, <null>, <null>) }
 3) { A: 3, B: (0, <null>, <null>) }
 4) { A: 4, B: (0, <null>, <null>) }
 5) { A: 5, B: (0, <null>, <null>) }
 6) { A: 6, B: (0, <null>, <null>) }
 7) { A: 7, B: (0, <null>, <null>) }
 8) { A: 2, B: (0, <null>, <null>) }
 9) { A: 3, B: (0, <null>, <null>) }
10) { A: 4, B: (0, <null>, <null>) }
11) { A: 5, B: (0, <null>, <null>) }
12) { A: 6, B: (0, <null>, <null>) }
13) { A: 7, B: (0, <null>, <null>) }
14) { A: 8, B: (0, true , 0) }
15) { A: 9, B: (-1, false, 2) }
16) { A: 10, B: (-2, true , 4) }
17) { A: 0, B: (-9, false, 18) }
18) { A: 0, B: (0, <null>, <null>) }
19) { A: 0, B: (0, <null>, <null>) }
20) { A: 8, B: (0, true , 0) }
21) { A: 9, B: (-1, false, 2) }
22) { A: 10, B: (-2, true , 4) }
23) { A: 0, B: (-9, false, 18) }
24) { A: 0, B: (0, <null>, <null>) }
25) { A: 0, B: (0, <null>, <null>) }
26) { A: 0, B: (0, <null>, <null>) }
27) { A: 0, B: (3, true , hello) }
###
*** Undo(1)
Cfg: 00000001 [A], <grid>(2 cols, 16 rows)
Status: 1 nodes, 6 undos, 1 redos
  Node changes:
    00000001 [A]: [           dD  ], <grid>(2 cols, 16 rows), Base: {A:i4, B:(i4, b?, s)}*
###
Cfg: 00000001 [A], <grid>(2 cols, 25 rows)
Status: 1 nodes, 7 undos, 0 redos
  Node changes:
    00000001 [A]: [           dD  ], <grid>(2 cols, 25 rows), Base: {A:i4, B:(i4, b?, s)}*; stale rows: 8-20
###
Sequence: Seq<{i4,(i4,Opt<bool>,str)}>
 0) { A: 0, B: (0, <null>, <null>) }
 1) { A: 1, B: (0, <null>, <null>) }
 2) { A: 2, B: (0, <null>, <null>) }
 3) { A: 3, B: (0, <null>, <null>) }
 4) { A: 4, B: (0, <null>, <null>) }
 5) { A: 5, B: (0, <null>, <null>) }
 6) { A: 6, B: (0, <null>, <null>) }
 7) { A: 7, B: (0, <null>, <null>) }
 8) { A: 2, B: (0, <null>, <null>) }
 9) { A: 3, B: (0, <null>, <null>) }
10) { A: 4, B: (0, <null>, <null>) }
11) { A: 5, B: (0, <null>, <null>) }
12) { A: 6, B: (0, <null>, <null>) }
13) { A: 7, B: (0, <null>, <null>) }
14) { A: 8, B: (0, true , 0) }
15) { A: 9, B: (-1, false, 2) }
16) { A: 10, B: (-2, true , 4) }
17) { A: 0, B: (-9, false, 18) }
18) { A: 0, B: (0, <null>, <null>) }
19) { A: 0, B: (0, <null>, <null>) }
20) { A: 0, B: (-9, false, 18) }
21) { A: 0, B: (0, <null>, <null>) }
22) { A: 0, B: (0, <null>, <null>) }
23) { A: 0, B: (0, <null>, <null>) }
24) { A: 0, B: (3, true , hello) }
###
*** Undo(1)
Cfg: 00000001 [A], <grid>(2 cols, 16 rows)
Status: 1 nodes, 6 undos, 1 redos
  Node changes:
    00000001 [A]: [           dD  ], <grid>(2 cols, 16 rows), Base: {A:i4, B:(i4, b?, s)}*
###
Sequence: Seq<{i4,(i4,Opt<bool>,str)}>
 0) { A: 0, B: (0, <null>, <null>) }
 1) { A: 1, B: (0, <null>, <null>) }
 2) { A: 2, B: (0, <null>, <null>) }
 3) { A: 3, B: (0, <null>, <null>) }
 4) { A: 4, B: (0, <null>, <null>) }
 5) { A: 5, B: (0, <null>, <null>) }
 6) { A: 6, B: (0, <null>, <null>) }
 7) { A: 7, B: (0, <null>, <null>) }
 8) { A: 8, B: (0, true , 0) }
 9) { A: 9, B: (-1, false, 2) }
10) { A: 10, B: (-2, true , 4) }
11) { A: 0, B: (-9, false, 18) }
12) { A: 0, B: (0, <null>, <null>) }
13) { A: 0, B: (0, <null>, <null>) }
14) { A: 0, B: (0, <null>, <null>) }
15) { A: 0, B: (3, true , hello) }
###
*** Redo(1)
Cfg: 00000001 [A], <grid>(2 cols, 25 rows)
Status: 1 nodes, 7 undos, 0 redos
  Node changes:
    00000001 [A]: [           dD  ], <grid>(2 cols, 25 rows), Base: {A:i4, B:(i4, b?, s)}*
###
Sequence: Seq<{i4,(i4,Opt<bool>,str)}>
 0) { A: 0, B: (0, <null>, <null>) }
 1) { A: 1, B: (0, <null>, <null>) }
 2) { A: 2, B: (0, <null>, <null>) }
 3) { A: 3, B: (0, <null>, <null>) }
 4) { A: 4, B: (0, <null>, <null>) }
 5) { A: 5, B: (0, <null>, <null>) }
 6) { A: 6, B: (0, <null>, <null>) }
 7) { A: 7, B: (0, <null>, <null>) }
 8) { A: 2, B: (0, <null>, <null>) }
 9) { A: 3, B: (0, <null>, <null>) }
10) { A: 4, B: (0, <null>, <null>) }
11) { A: 5, B: (0, <null>, <null>) }
12) { A: 6, B: (0, <null>, <null>) }
13) { A: 7, B: (0, <null>, <null>) }
14) { A: 8, B: (0, true , 0) }
15) { A: 9, B: (-1, false, 2) }
16) { A: 10, B: (-2, true , 4) }
17) { A: 0, B: (-9, false, 18) }
18) { A: 0, B: (0, <null>, <null>) }
19) { A: 0, B: (0, <null>, <null>) }
20) { A: 0, B: (-9, false, 18) }
21) { A: 0, B: (0, <null>, <null>) }
22) { A: 0, B: (0, <null>, <null>) }
23) { A: 0, B: (0, <null>, <null>) }
24) { A: 0, B: (3, true , hello) }
###
*** Undo(1)
Cfg: 00000001 [A], <grid>(2 cols, 16 rows)
Status: 1 nodes, 6 undos, 1 redos
  Node changes:
    00000001 [A]: [           dD  ], <grid>(2 cols, 16 rows), Base: {A:i4, B:(i4, b?, s)}*
###
Cfg: 00000001 [A], <grid>(2 cols, 21 rows)
Status: 1 nodes, 7 undos, 0 redos
  Node changes:
    00000001 [A]: [           dD  ], <grid>(2 cols, 21 rows), Base: {A:i4, B:(i4, b?, s)}*; stale rows: 5-13
###
Sequence: Seq<{i4,(i4,Opt<bool>,str)}>
 0) { A: 0, B: (0, <null>, <null>) }
 1) { A: 1, B: (0, <null>, <null>) }
 2) { A: 2, B: (0, <null>, <null>) }
 3) { A: 3, B: (0, <null>, <null>) }
 4) { A: 4, B: (0, <null>, <null>) }
 5) { A: 0, B: (0, <null>, <null>) }
 6) { A: 0, B: (0, <null>, <null>) }
 7) { A: 0, B: (0, <null>, <null>) }
 8) { A: 0, B: (0, <null>, <null>) }
 9) { A: 0, B: (0, <null>, <null>) }
10) { A: 0, B: (0, <null>, <null>) }
11) { A: 0, B: (0, <null>, <null>) }
12) { A: 0, B: (0, <null>, <null>) }
13) { A: 8, B: (0, true , 0) }
14) { A: 9, B: (-1, false, 2) }
15) { A: 10, B: (-2, true , 4) }
16) { A: 0, B: (-9, false, 18) }
17) { A: 0, B: (0, <null>, <null>) }
18) { A: 0, B: (0, <null>, <null>) }
19) { A: 0, B: (0, <null>, <null>) }
20) { A: 0, B: (3, true , hello) }
###
*** Undo(1)
Cfg: 00000001 [A], <grid>(2 cols, 16 rows)
Status: 1 nodes, 6 undos, 1 redos
  Node changes:
    00000001 [A]: [           dD  ], <grid>(2 cols, 16 rows), Base: {A:i4, B:(i4, b?, s)}*
###
Sequence: Seq<{i4,(i4,Opt<bool>,str)}>
 0) { A: 0, B: (0, <null>, <null>) }
 1) { A: 1, B: (0, <null>, <null>) }
 2) { A: 2, B: (0, <null>, <null>) }
 3) { A: 3, B: (0, <null>, <null>) }
 4) { A: 4, B: (0, <null>, <null>) }
 5) { A: 5, B: (0, <null>, <null>) }
 6) { A: 6, B: (0, <null>, <null>) }
 7) { A: 7, B: (0, <null>, <null>) }
 8) { A: 8, B: (0, true , 0) }
 9) { A: 9, B: (-1, false, 2) }
10) { A: 10, B: (-2, true , 4) }
11) { A: 0, B: (-9, false, 18) }
12) { A: 0, B: (0, <null>, <null>) }
13) { A: 0, B: (0, <null>, <null>) }
14) { A: 0, B: (0, <null>, <null>) }
15) { A: 0, B: (3, true , hello) }
###
*** Redo(1)
Cfg: 00000001 [A], <grid>(2 cols, 21 rows)
Status: 1 nodes, 7 undos, 0 redos
  Node changes:
    00000001 [A]: [           dD  ], <grid>(2 cols, 21 rows), Base: {A:i4, B:(i4, b?, s)}*
###
Sequence: Seq<{i4,(i4,Opt<bool>,str)}>
 0) { A: 0, B: (0, <null>, <null>) }
 1) { A: 1, B: (0, <null>, <null>) }
 2) { A: 2, B: (0, <null>, <null>) }
 3) { A: 3, B: (0, <null>, <null>) }
 4) { A: 4, B: (0, <null>, <null>) }
 5) { A: 0, B: (0, <null>, <null>) }
 6) { A: 0, B: (0, <null>, <null>) }
 7) { A: 0, B: (0, <null>, <null>) }
 8) { A: 0, B: (0, <null>, <null>) }
 9) { A: 0, B: (0, <null>, <null>) }
10) { A: 0, B: (0, <null>, <null>) }
11) { A: 0, B: (0, <null>, <null>) }
12) { A: 0, B: (0, <null>, <null>) }
13) { A: 8, B: (0, true , 0) }
14) { A: 9, B: (-1, false, 2) }
15) { A: 10, B: (-2, true , 4) }
16) { A: 0, B: (-9, false, 18) }
17) { A: 0, B: (0, <null>, <null>) }
18) { A: 0, B: (0, <null>, <null>) }
19) { A: 0, B: (0, <null>, <null>) }
20) { A: 0, B: (3, true , hello) }
###
*** Undo(1)
Cfg: 00000001 [A], <grid>(2 cols, 16 rows)
Status: 1 nodes, 6 undos, 1 redos
  Node changes:
    00000001 [A]: [           dD  ], <grid>(2 cols, 16 rows), Base: {A:i4, B:(i4, b?, s)}*
###
Cfg: 00000001 [A], <grid>(2 cols, 16 rows)
Status: 1 nodes, 7 undos, 0 redos
  Node changes:
    00000001 [A]: [   tT      dD  ], <grid>(2 cols, 16 rows), Base: {A:i4, B:(i4, b?, s)?}*; stale rows: 0-16
###
Sequence: Seq<{i4,(i4,Opt<bool>,str)}>
 0) { A: 0, B: (0, <null>, <null>) }
 1) { A: 1, B: (0, <null>, <null>) }
 2) { A: 2, B: (0, <null>, <null>) }
 3) { A: 3, B: (0, <null>, <null>) }
 4) { A: 4, B: (0, <null>, <null>) }
 5) { A: 5, B: (0, <null>, <null>) }
 6) { A: 6, B: (0, <null>, <null>) }
 7) { A: 7, B: (0, <null>, <null>) }
 8) { A: 8, B: (0, true , 0) }
 9) { A: 9, B: (-1, false, 2) }
10) { A: 10, B: (-2, true , 4) }
11) { A: 0, B: (-9, false, 18) }
12) { A: 0, B: (0, <null>, <null>) }
13) { A: 0, B: (0, <null>, <null>) }
14) { A: 0, B: (0, <null>, <null>) }
15) { A: 0, B: (3, true , hello) }
###
*** Undo(1)
Cfg: 00000001 [A], <grid>(2 cols, 16 rows)
Status: 1 nodes, 6 undos, 1 redos
  Node changes:
    00000001 [A]: [   tT      dD  ], <grid>(2 cols, 16 rows), Base: {A:i4, B:(i4, b?, s)}*
###
*** Redo(1)
Cfg: 00000001 [A], <grid>(2 cols, 16 rows)
Status: 1 nodes, 7 undos, 0 redos
  Node changes:
    00000001 [A]: [   tT      dD  ], <grid>(2 cols, 16 rows), Base: {A:i4, B:(i4, b?, s)?}*
###
