break package:utility-ht

It is Data.List.span f undefined = undefined, whereas span f undefined = (undefined, undefined).
Like break, but splits after the matching element.
forAllPredicates $ \p xs -> uncurry (++) (breakAfter p xs) == xs
forAllMaybeFn $ \f xs -> snd (breakJust f xs) == dropWhileNothing f xs