type merging