merge and merge_with accept single iterator arg