until -package:singletons-base -package:monad-loops -package:free package:base

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