Enforcing union types