maximumOn id [] == undefined maximumOn length ["test","extra","a"] == "extra"
minimumOn id [] == undefined minimumOn length ["test","extra","a"] == "a"
>>> import qualified Data.Vector.Strict as V >>> V.maximumOn fst $ V.fromList [(2,'a'), (1,'b')] (2,'a') >>> V.maximumOn fst $ V.fromList [(1,'a'), (1,'b')] (1,'a')
>>> import qualified Data.Vector.Strict as V >>> V.minimumOn fst $ V.fromList [(2,'a'), (1,'b')] (1,'b') >>> V.minimumOn fst $ V.fromList [(1,'a'), (1,'b')] (1,'a')