Adding union types to subtying rules