Một discriminated union (tagged union) là một union của các object type mà tất cả đều chia sẻ một trường literal chung — gọi là discriminant — mà compiler dùng để phân biệt các biến thể và narrow một cách an toàn.
=
| { : }
| { : ; : }
| { : ; : };
