Did you know ... Search Documentation:
Predicate must/1
 must(:Goal) is nondet
Goal must succeed at least once once

Wrap must/1 over parts of your code you do not trust If your code fails.. it will rewind to your entry block (at the scope of this declaration) and invoke rtrace/1 . If there are 50 steps to your code, it will save you from pushing creep 50 times. Instead it turns off the leash to allow you to trace with your eyeballs instead of your fingers.

% must( :Goal) is semidet.

Must Be Successfull.