I just realized you could parallelize the shrinking process using something like a branch predictor
but it could be more complex than a traditional branch predictor since you can execute multiple possibilities in parallel
the search strategies used in chess programs seem a bit related too, though maybe not helpfully