until -package:numeric-prelude -package:monad-loops package:dimensional

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