until -package:hspec -package:protolude -package:selective -package:extra package:base-prelude

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