The modelling aspects can be simulated, yes, but that's barely half of the benefits of ADTs. Pattern matching is a big ergonomic benefit.
The critical thing is that the compiler (or macro system) needs to check that you've checked all the alternatives.
The critical thing is that the compiler (or macro system) needs to check that you've checked all the alternatives.