I love it, but I see a downside, though: unions are currently implemented as structs that box value types into a Value property of type object. So there can be performance implications for hot paths.

The article mentions that one can implement a union type that doesn't do boxing.