until -package:base-compat -package:clash-prelude -package:base -package:termonad package:hedgehog

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