
Having the consistency with `sortOn` seems like a win, but the reason we have `sortOn` is that the implementation is not completely trivial. It has to be ever so slightly smart to reuse the projections when sorting. On the other hand, we have the definitions: minimumOn = minimumBy . comparing maximumOn = maximumBy . comparing It’s not obvious to me that this needs its own name instead of simply mentioning that `comparing` exists in the haddock documentation for `minimumBy` and `maximumBy`. Is it a foregone conclusion that we should maintain consistency with `minimum` and `maximum` on their result types? I consider these types mistakes and would have preferred to see `Maybe` involved. minimumOn :: (Foldable t, Ord b) => (a -> b) -> t a -> Maybe a I’m not sure why it makes sense to force ourselves into returning an imprecise exception in the empty list case. Best regards, Eric Mertens