until -package:monad-loops -package:foundation -package:snap-core is:exact package:protolude

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