抽象データ型の利点は関連コードの局所化と仕様と実装の分離で、Haskellはなぜか
データ構造はデータ構造、そのデータ構造の操作はデータ構造の操作で、データ型の定義とは
別のところで定義しないといけない。だから大規模開発は(抽象データ型の発展系である)
オブジェクト指向には劣ると思う。