Earlier quoted context omitted.
Swift supports ADTs and implements its Optional type as an ADT.
> Swift supports ADTs True, but perhaps not practically relevant. The pattern matching in Swift isn't much better than what you would get with a tagged C union, which is why no one really uses it very heavily. The Optional type in Swift gets a lot of special compiler support, which is indicative of the fact that the broader language isn't very friendly towards using ADTs to structure data. But you're right, I should…
enum in Swift has pattern matching support, can have properties, adopt protocols, etc.
I would disagree with your assessment that "nobody uses them".