Scalaでクラスをsealedにする理由とは?
scala.collection.mutable.TreeMapがsealedで、その他のMap(例えばHashMap)がそうでないのは何故でしょうか?(さらに言えば、immutableなTreeMapはfinal、HashMapはsealedになっており、修飾子をつける基準が見いだせませんでした。)
Scalaでsealedなクラスを使うのは、case classと組み合わせてパターンマッチの漏れをコンパイラが検出できるようにするためだと思っていたのですが、それ以外に理由はあるのでしょうか?