Stream Merging Agency

{Merge L1 L2 L3}: input streams L1,L2 - output stream L3 - we want a fair merge... not {Append L1 L2 L3}

Solution:
proc {Merge L1 L2 L3}
   P = {NewPort L3}
in
   {Forward L1 P}
   {Forward L2 P}
end
fairness of Merge guaranteed by fairness of thread scheduling