fix production of union/intersection types