>>> *** Source:
    T0 := Range(22_000)->{ A: it, B: it * it, C: "Blah_" & ToText(it), D: it mod 3 = 0, };
    T0;
    PNK := "nocomp-chkd.rbin";
    finish W1 as WriteRbin(T0, "temp/" & PNK, true, false);
    PNU := "nocomp-unchunked.rbin";
    finish W2 as WriteRbin(T0, "temp/" & PNU, false, false);
    PCK := "comp-chunked.rbin";
    finish W3 as WriteRbin(T0, "temp/" & PCK, true, true);
    PCU := "comp-unchunked.rbin";
    finish W4 as WriteRbin(T0, "temp/" & PCU, false, true);
    (W1.Size, W1.Compression);
    (W2.Size, W2.Compression);
    (W3.Size, W3.Compression);
    (W4.Size, W4.Compression);
    play R1 as ReadRbin(W1.Link);
    play R2 as ReadRbin(W2.Link);
    play R3 as ReadRbin(W3.Link);
    play R4 as ReadRbin(W4.Link);
    finish R1;
    finish R2;
    finish R3;
    finish R4;
    T1 := R1.Data;
    T2 := R2.Data;
    T3 := R3.Data;
    T4 := R4.Data;
    (R1.RowCount, R2.RowCount, R3.RowCount, R4.RowCount);
    (T1->Count(), T2->Count(), T3->Count(), T4->Count(), T4->Count());
    ForEach(a:T0, b:T1, c:T2, d:T3, e:T4, (#, a.A = b.A = c.A = d.A = e.A))->TakeIf(!it[1]);
    ForEach(a:T0, b:T1, c:T2, d:T3, e:T4, (#, a.B = b.B = c.B = d.B = e.B))->TakeIf(!it[1]);
    ForEach(a:T0, b:T1, c:T2, d:T3, e:T4, (#, a.C = b.C = c.C = d.C = e.C))->TakeIf(!it[1]);
    ForEach(a:T0, b:T1, c:T2, d:T3, e:T4, (#, a.D = b.D = c.D = d.D = e.D))->TakeIf(!it[1]);

>>> *** Instructions:
   0) [0] Define T0 <- Range(22000)->{ A : it, B : it * it, C : "Blah_" & ToText(it), D : it mod 3 @= 0 }
   1) [0] Expr T0
   2) [0] Define PNK <- "nocomp-chkd.rbin"
   3) [0] TaskProc finish W1 as WriteRbin(T0, "temp/" & PNK, true, false)
   4) [0] Define PNU <- "nocomp-unchunked.rbin"
   5) [0] TaskProc finish W2 as WriteRbin(T0, "temp/" & PNU, false, false)
   6) [0] Define PCK <- "comp-chunked.rbin"
   7) [0] TaskProc finish W3 as WriteRbin(T0, "temp/" & PCK, true, true)
   8) [0] Define PCU <- "comp-unchunked.rbin"
   9) [0] TaskProc finish W4 as WriteRbin(T0, "temp/" & PCU, false, true)
  10) [0] Expr (W1.Size, W1.Compression)
  11) [0] Expr (W2.Size, W2.Compression)
  12) [0] Expr (W3.Size, W3.Compression)
  13) [0] Expr (W4.Size, W4.Compression)
  14) [0] TaskProc play R1 as ReadRbin(W1.Link)
  15) [0] TaskProc play R2 as ReadRbin(W2.Link)
  16) [0] TaskProc play R3 as ReadRbin(W3.Link)
  17) [0] TaskProc play R4 as ReadRbin(W4.Link)
  18) [0] TaskCmd finish R1
  19) [0] TaskCmd finish R2
  20) [0] TaskCmd finish R3
  21) [0] TaskCmd finish R4
  22) [0] Define T1 <- R1.Data
  23) [0] Define T2 <- R2.Data
  24) [0] Define T3 <- R3.Data
  25) [0] Define T4 <- R4.Data
  26) [0] Expr (R1.RowCount, R2.RowCount, R3.RowCount, R4.RowCount)
  27) [0] Expr (T1->Count(), T2->Count(), T3->Count(), T4->Count(), T4->Count())
  28) [0] Expr ForEach(a : T0, b : T1, c : T2, d : T3, e : T4, (#, a.A @= b.A @= c.A @= d.A @= e.A))->TakeIf(!it[1])
  29) [0] Expr ForEach(a : T0, b : T1, c : T2, d : T3, e : T4, (#, a.B @= b.B @= c.B @= d.B @= e.B))->TakeIf(!it[1])
  30) [0] Expr ForEach(a : T0, b : T1, c : T2, d : T3, e : T4, (#, a.C @= b.C @= c.C @= d.C @= e.C))->TakeIf(!it[1])
  31) [0] Expr ForEach(a : T0, b : T1, c : T2, d : T3, e : T4, (#, a.D @= b.D @= c.D @= d.D @= e.D))->TakeIf(!it[1])
  32) [0] End

>    0) [0] Define T0 <- Range(22000)->{ A : it, B : it * it, C : "Blah_" & ToText(it), D : it mod 3 @= 0 }
Global 'T0' has DType: {A:i8, B:i8, C:s, D:b}*, SysType: Seq<{i8,i8,str,bool}>
>    1) [0] Expr T0
Seq<{i8,i8,str,bool}>
   0) { A: 0, B: 0, C: Blah_0, D: true }
   1) { A: 1, B: 1, C: Blah_1, D: false }
   2) { A: 2, B: 4, C: Blah_2, D: false }
   3) { A: 3, B: 9, C: Blah_3, D: true }
   4) { A: 4, B: 16, C: Blah_4, D: false }
   5) { A: 5, B: 25, C: Blah_5, D: false }
   6) { A: 6, B: 36, C: Blah_6, D: true }
   7) { A: 7, B: 49, C: Blah_7, D: false }
   8) { A: 8, B: 64, C: Blah_8, D: false }
   9) { A: 9, B: 81, C: Blah_9, D: true }
  10) { A: 10, B: 100, C: Blah_10, D: false }
  11) { A: 11, B: 121, C: Blah_11, D: false }
  12) { A: 12, B: 144, C: Blah_12, D: true }
  13) { A: 13, B: 169, C: Blah_13, D: false }
  14) { A: 14, B: 196, C: Blah_14, D: false }
  15) { A: 15, B: 225, C: Blah_15, D: true }
  16) { A: 16, B: 256, C: Blah_16, D: false }
  17) { A: 17, B: 289, C: Blah_17, D: false }
  18) { A: 18, B: 324, C: Blah_18, D: true }
  19) { A: 19, B: 361, C: Blah_19, D: false }
  20) { A: 20, B: 400, C: Blah_20, D: false }
  21) { A: 21, B: 441, C: Blah_21, D: true }
  22) { A: 22, B: 484, C: Blah_22, D: false }
  23) { A: 23, B: 529, C: Blah_23, D: false }
  24) { A: 24, B: 576, C: Blah_24, D: true }
  25) { A: 25, B: 625, C: Blah_25, D: false }
  26) { A: 26, B: 676, C: Blah_26, D: false }
  27) { A: 27, B: 729, C: Blah_27, D: true }
  28) { A: 28, B: 784, C: Blah_28, D: false }
  29) { A: 29, B: 841, C: Blah_29, D: false }
  30) { A: 30, B: 900, C: Blah_30, D: true }
  31) { A: 31, B: 961, C: Blah_31, D: false }
  ...
>    2) [0] Define PNK <- "nocomp-chkd.rbin"
Global 'PNK' has DType: s, SysType: str
>    3) [0] TaskProc finish W1 as WriteRbin(T0, "temp/" & PNK, true, false)
Task 'W1' added
Task 'W1' now playing
Task 'W1' finished
>    4) [0] Define PNU <- "nocomp-unchunked.rbin"
Global 'PNU' has DType: s, SysType: str
>    5) [0] TaskProc finish W2 as WriteRbin(T0, "temp/" & PNU, false, false)
Task 'W2' added
Task 'W2' now playing
Task 'W2' finished
>    6) [0] Define PCK <- "comp-chunked.rbin"
Global 'PCK' has DType: s, SysType: str
>    7) [0] TaskProc finish W3 as WriteRbin(T0, "temp/" & PCK, true, true)
Task 'W3' added
Task 'W3' now playing
Task 'W3' finished
>    8) [0] Define PCU <- "comp-unchunked.rbin"
Global 'PCU' has DType: s, SysType: str
>    9) [0] TaskProc finish W4 as WriteRbin(T0, "temp/" & PCU, false, true)
Task 'W4' added
Task 'W4' now playing
Task 'W4' finished
>   10) [0] Expr (W1.Size, W1.Compression)
(584359, None)
>   11) [0] Expr (W2.Size, W2.Compression)
(583983, None)
>   12) [0] Expr (W3.Size, W3.Compression)
(190035, Brotli)
>   13) [0] Expr (W4.Size, W4.Compression)
(189588, Brotli)
>   14) [0] TaskProc play R1 as ReadRbin(W1.Link)
Task 'R1' added
Task 'R1' now playing
>   15) [0] TaskProc play R2 as ReadRbin(W2.Link)
Task 'R2' added
Task 'R2' now playing
>   16) [0] TaskProc play R3 as ReadRbin(W3.Link)
Task 'R3' added
Task 'R3' now playing
>   17) [0] TaskProc play R4 as ReadRbin(W4.Link)
Task 'R4' added
Task 'R4' now playing
>   18) [0] TaskCmd finish R1
Task 'R1' already playing
Task 'R1' finished
>   19) [0] TaskCmd finish R2
Task 'R2' already playing
Task 'R2' finished
>   20) [0] TaskCmd finish R3
Task 'R3' already playing
Task 'R3' finished
>   21) [0] TaskCmd finish R4
Task 'R4' already playing
Task 'R4' finished
>   22) [0] Define T1 <- R1.Data
Global 'T1' has DType: {A:i8, B:i8, C:s, D:b}*, SysType: Seq<{i8,i8,str,bool}>
>   23) [0] Define T2 <- R2.Data
Global 'T2' has DType: {A:i8, B:i8, C:s, D:b}*, SysType: Seq<{i8,i8,str,bool}>
>   24) [0] Define T3 <- R3.Data
Global 'T3' has DType: {A:i8, B:i8, C:s, D:b}*, SysType: Seq<{i8,i8,str,bool}>
>   25) [0] Define T4 <- R4.Data
Global 'T4' has DType: {A:i8, B:i8, C:s, D:b}*, SysType: Seq<{i8,i8,str,bool}>
>   26) [0] Expr (R1.RowCount, R2.RowCount, R3.RowCount, R4.RowCount)
(22000, 22000, 22000, 22000)
>   27) [0] Expr (T1->Count(), T2->Count(), T3->Count(), T4->Count(), T4->Count())
(22000, 22000, 22000, 22000, 22000)
*** Ctx ping count: 0
>   28) [0] Expr ForEach(a : T0, b : T1, c : T2, d : T3, e : T4, (#, a.A @= b.A @= c.A @= d.A @= e.A))->TakeIf(!it[1])
Seq<(i8,bool)>
*** Ctx ping count: 22000
    [0](22000): Take(*7: ForEach(*2: T0, *3: T1, *4: T2, *5: T3, *6: T4, (#1, *2.A @= *3.A @= *4.A @= *5.A @= *6.A)), [if] Xor(*7.1, true))
>   29) [0] Expr ForEach(a : T0, b : T1, c : T2, d : T3, e : T4, (#, a.B @= b.B @= c.B @= d.B @= e.B))->TakeIf(!it[1])
Seq<(i8,bool)>
*** Ctx ping count: 22000
    [0](22000): Take(*7: ForEach(*2: T0, *3: T1, *4: T2, *5: T3, *6: T4, (#1, *2.B @= *3.B @= *4.B @= *5.B @= *6.B)), [if] Xor(*7.1, true))
>   30) [0] Expr ForEach(a : T0, b : T1, c : T2, d : T3, e : T4, (#, a.C @= b.C @= c.C @= d.C @= e.C))->TakeIf(!it[1])
Seq<(i8,bool)>
*** Ctx ping count: 22000
    [0](22000): Take(*7: ForEach(*2: T0, *3: T1, *4: T2, *5: T3, *6: T4, (#1, *2.C @= *3.C @= *4.C @= *5.C @= *6.C)), [if] Xor(*7.1, true))
>   31) [0] Expr ForEach(a : T0, b : T1, c : T2, d : T3, e : T4, (#, a.D @= b.D @= c.D @= d.D @= e.D))->TakeIf(!it[1])
Seq<(i8,bool)>
*** Ctx ping count: 22000
    [0](22000): Take(*7: ForEach(*2: T0, *3: T1, *4: T2, *5: T3, *6: T4, (#1, *2.D @= *3.D @= *4.D @= *5.D @= *6.D)), [if] Xor(*7.1, true))
>   32) [0] End

