こういうのは vital の他のモジュールを使うのが良いかも。そのためのライブラリ化ですし。
この場合は Data.List.max_by() が使えそうです。