Ok, then let's go with priority as the name for this function.
About the merge function. The merge function is shorthand for "mergeSort". It's designed to merge two streams sorted on the same keys and maintain the sort order. Originally the idea was that the /export handler was a giant sorting engine, and merge was a way to efficiently merge the sorted streams.
The priority function behaves more like the SQL UNIONALL. But it's different in that priority only picks one stream to iterate on each open/close. This design allows it to iterate the high priority topic, and only iterate the lower priority topic when no new higher priority tasks have entered the index. Because topics work in small batches, new high priority tasks will jump ahead of existing lower priority tasks on each executor run.
Also the merge function I think fits into the relational algebra category. The priority function is mainly going to be used for task prioritization and execution.
Eventually we'll need to implement both a UnionStream and UnionAllStream as well.