until -package:monad-loops package:dimensional

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