declare % Split the first argument, an IStream, into two output IStreams, % by alternating elements. proc {Split A|B|Rest ?Out1 ?Out2} local Out1New Out2New in thread Out1 = A|Out1New end thread Out2 = B|Out2New end {Split Rest Out1New Out2New} end end