until -package:numeric-prelude -package:language-bash -package:clash-prelude -package:hspec -package:mixed-types-num -package:ghc package:monad-loops -is:exact

Run the supplied Maybe computation repeatedly until it returns a value. Returns that value.
Execute an action repeatedly until the condition expression returns True. The condition is evaluated after the loop body. Collects results into a list. Parameters are arranged for infix usage. eg. do {...} untilM_ ...
Execute an action repeatedly until the condition expression returns True. The condition is evaluated after the loop body. Collects results into a MonadPlus value. Parameters are arranged for infix usage. eg. do {...} untilM_ ...
Execute an action repeatedly until the condition expression returns True. The condition is evaluated after the loop body. Discards results. Parameters are arranged for infix usage. eg. do {...} untilM_ ...
Execute an action repeatedly until its result satisfies a predicate, and return that result (discarding all others).
Analogue of (until) Yields the result of applying f until p holds.