В чем разница между типами классов и абстрактными типами данных?
Я понимаю, что это основная задача для программистов Haskell, но я исхожу из фона Scala и буду интересоваться примерами в Scala. Самое лучшее, что я могу найти прямо сейчас, это то, что классные классы "открыты", а ADT "закрыты". Было бы также полезно сравнить и сопоставить типы моделей со структурными типами.