ENH: add merge() utility