until -package:numeric-prelude -package:streaming -package:util -package:snap-core -package:LambdaHack package:utility-ht -is:exact

repeat action until result fulfills condition
Deprecated: use M.until
Take all elements until one matches. The matching element is returned, too. This is the key difference to takeWhile (not . p). It holds:
forAllPredicates $ \p xs -> takeUntil p xs == fst (breakAfter p xs)