Pull out merge_with from merge(func=)