メソッドシグネチャを見て困惑した覚えがあります。彼が消えてしまうようです。役割を感じることにしました。おける実装を参考にしています。定義まずはサンプルとして使用するためのオレオレコレクションを定義します。種類に大別できると思うので、それぞれについて対応するクラスを定義します。したクラスを用意しました。メソッドを提供するものとします。MyMap(elems.toMap)}一応動作を確認しておきます。実装を与えることを目指していきます。いう感じになるかもしれません。共通のコレクションメソッドを提供し、しかもそれらが似たような実装になるのならばそのようなモチベーションが出てくるのもわかるように思います。現在のコレクション実装になっているようなので、このあたりできっとそういった判断があったのだと思います。するというのは珍しくありません。追加し、各データ構造を表すクラスに継承してもらうというオブジェクト指向的アプローチをとります。ことだと言えると思います。メソッドのみを要求するという実装になっているのでそれを踏襲したという形です。以下のように実装することができます。メソッドの共通化ができました。しようとすると単純にはうまくいかないことに気付きます。あることを期待すると思います。呼び、可能な限りコレクションメソッドがこれを満たすようにしています。