Old but still relevant I think. It is a fun video to watch when you have
about an hour. Maybe most people here have seen it.
I also think ATS is doing many of the positive things being described.
The one I’m on the fence about (and I have no idea how to do a better job
anyway) is that ATS is by nature already a rich language before it has
becoming widely adopted. This is even without using such advanced features
as ATS/LF, which is admittedly very easy to avoid. What isn’t as easy to
avoid (because it is so tempting to do so) is using dependent types. There
may be other examples as well.