minBy : Ord b => (a -> b) -> List a -> Maybe aExtracts the minimal value from a list (if any) according to the
given comparison function.
mapIf : Functor f => (a -> Bool) -> (a -> a) -> f a -> f aModify those values in a functor that fulfill the given predicate
mapFilter : (a -> Bool) -> (a -> b) -> List a -> List bKeep and modify those values in a list that fulfill the given predicate