types: steal types when merging if possible