until -package:monad-loops -package:foundation -package:IfElse package:basic-prelude

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