until -package:monad-loops -package:foundation -package:free -is:exact package:github

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