Prover.guess_instances is now slightly less dumb

It can still produce a huge number of guesses. Now it doesn't produce
redondant ones.

The issue was that only individual ill-typed guesses were eliminated.
Now we eliminate lists of guesses if one of them is ill-typed. Since we
already compute the cross-product of all possible guesses this is the
right thing to do.