generalize merge to mingle any number of streams.
minor name cleanups