declare L0 %% L0 = _ declare L1 in L0=a|L1 %% L0 = a|_ declare L2 in L1=b|L2 %% L0 = a|b|_ declare L3 in L2=c|L3 %% L0 = a|b|c|_we cannot have more than 1 agent appending messages to the same stream a new abstraction is needed to mediate the operation of extending the stream with a new message