Need help patterning with sequences of random values

Thanks @bgold. timeLoop is worlds better than repeatCycles 10000 in terms of hackiness. But unfortunately it has the same behaviour across cycles. I should have been clearer stating my problem: (as with repeatCycles 10000) I am able to pattern the offset values within a single cycle, but not across multiple cycles.

E.g., I get 4 sequences A,B,C, and D with 4 different offset values:

-- A: ibdk
d1 $ lock 1 0 $ s "alphabet*4" # n (irand 26) 

-- B: rbfk
d1 $ lock 1 1 $ s "alphabet*4" # n (irand 26) 

-- C: xbez
d1 $ lock 1 2 $ s "alphabet*4" # n (irand 26) 

-- D: rlas
d1 $ lock 1 3 $ s "alphabet*4" # n (irand 26)

If I want to alternate between A and C, I can't use lock 2 "<0 2>", that will produce A D. Because C is occurring in the 2nd cycle I need to offset its offset value by 1:

-- A C
d1 $ lock 2 "<0 1>" $ s "alphabet*4" # n (irand 26)

While reversing the order to C A would require:

-- C A
d1 $ lock 2 "<2 -1>" $ s "alphabet*4" # n (irand 26)

This comes out the same with either definition of lock

It's not tough math, but especially if I want to sequence together more than 2 cycles, it's big investment of cognitive load.