until -package:foundation -package:extra -package:hledger-web -package:IfElse package:protolude

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