until -package:monad-loops package:foundation

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