
Many thanks to all for the replies
From: ChrisK
Could the interval for element x of List xList overlap with more than one element of another list? It does not matter too much, but is something you did not clarify. In general, how may the intervals for all the lists overlap? (The answer may be too complex, in which case you can just ignore me).
Yes, unlimited overlap is possible. e.g. Infinite interval in one list, and infinitely many small intervals in another list.
I would start by merging, perhaps in stages, into an intermediate list with elements of its own "data FooIntermediate = A _ [_]| B _ [(_,_)] | C _ _ _ | ..." types.
Yes, I'll probably use this suggestion, maybe with records to make partial update easier.
If you need to change the semantics of merging the streams then it may help when you refactor that the types of events are now types of constructors and the compiler is checking your code. Originally I had thought that I could treat the merge symetrically, but I now think this is not the case. Still I am not sure if I will use different types for different types of merge.
Rene.