In C#, all instances have a class, so there is already a discriminant, the class itself.
In the article, the example with the switch works because it switches on the class of the instance.
Null doesn't. `union(Int?, String?)` will only have 1 type of null, unlike a proper discriminated union.
Null doesn't. `union(Int?, String?)` will only have 1 type of null, unlike a proper discriminated union.