until -package:numeric-prelude -package:streaming -package:util -package:scalpel-core -package:faktory -package:netwire -package:ghc-lib-parser -package:xmonad-contrib -package:hledger-web -package:Cabal-syntax package:utility-ht
repeat action until result fulfills condition
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)