I have read various times about this thing of Theo being angry at people and so on which I don't understand honestly. I know his replies are usually short and he doesn't like to hold hands to n00bs like us, but I never had the feeling he was angry or insulting people, it was quite the opposite: his mail are on spot, precise and, frankly, honest.
Disclaimer: I've been using OpenBSD since 6.3 (~ 2 years ago), so quite recently, I don't know if he changed attitude at some point.
I think that's because the proper way to accomplish something like that in SQL is via specification. I do agree with you, though, postgres added enums (another feature that it's not strictly needed in SQL, but nice-to-have) but not something like that.
It's possible to emulate union types in SQL with triggers (i.e. check that the field A and B cannot be NULL at the same time, but it does not work if NULL is be a possible value.)
An aside: I wish some relation database adopted sum types: I didn't thought about the implications, but doing 'create table foo ( bar Maybe integer );' and then 'select Some bar ...' would be cool (and maybe a cleaner way to work with NULL.)
Disclaimer: I've been using OpenBSD since 6.3 (~ 2 years ago), so quite recently, I don't know if he changed attitude at some point.