until -package:numeric-prelude -package:util -package:xmonad-contrib -package:base-compat -package:Cabal -package:basic-prelude -package:classy-prelude -package:monad-loops -package:cabal-install-solver -package:snap-core package:protolude

until p f yields the result of applying f until p holds.