:: (a -> a) -> [a] -> [[a]] package:discrimination

O(n). This is a replacement for groupWith using discrimination. The result equivalence classes are not sorted, but the grouping is stable.