until -package:numeric-prelude -package:util -package:hedgehog package:rebase
until p f yields the result of applying 
f
until 
p holds.
 Keep running an effectful computation until it returns a
Right value, collecting the Left's using a supplied
Monoid instance.