improve type of set union