We have defined a message format for GenEvent.Stream. https://github.com/elixir-lang/elixir/blob/ab9450d92ff1582ad9ce11e6ec4baf450a07e00e/lib/elixir/lib/gen_event/stream.ex#L107
If merge were to conform to that format then Stream.merge can easily accept messages directly from GenEvent.Stream.