ご指摘をいただきました。キーごとのメソッドを生やしてみた。同様にキーごとにメソッドを生やせばいいけど、なんとなく気が進まない。非依存の型である必要がある。戻り型を渡すわけにもいかない。結果をジェネリックなクラスでラップすることを考えた。Anyなプロパティを持って、その型が型パラメータと一致していれば値を返してくれるというだけのやつ。ジェネリックなデータ取得メソッドを書く。作り、その型パラメータにキーに応じた戻り値の型を渡しておく。これで、いずれかのキーを渡すと、戻り値が必ず確定する。型が決定するので、あるキーで値を取得した場合の型が保証される。id).map(_.result)とりあえず目標は達成されてるけど、これが良い実装なのかわからなくて晒した。一般的にもっときれいに書けるのではないかという気がする。単純にキーの型でオーバーロードする方法。簡単かつ上記の実装だと静的に型検査できなかった問題を回避できる。実装もシンプルだし、キーを宣言的に扱える、メソッドは単一で入力型に合わせて出力型を変更できる・静的に安全、という要求を満たせる。投げちゃってるのがあまりスマートではなかった。してエラーをラップするのがそれっぽいという話をした。コメントをキャンセルコメントを入力してください。以下に詳細を記入するか、アイコンをクリックしてログインしてください。アカウントを使ってコメントしています。アカウントを使ってコメントしています。アカウントを使ってコメントしています。アカウントを使ってコメントしています。新しいコメントがついたらメールで通知。使用に同意したとみなされます。ポリシー%d人のブロガーが「いいね」をつけました。