I think that if you want to do a bob() that can then immediately be recombined to give you exactly what you started with, you use this:
Obviously you would never actually bob and then do this:
Code:
separatefields().selectevery(4,1,2).weave()
to put everything back together, but there are all sorts of scripts where it is important not to introduce shifts.