One possible use of this predicate is to postpone the execution of all suspensions in a list when they are known to succeed, to make sure that there will be no floundering goals and that the predicates are not executed too soon. This is the case e.g. when a variable is instantiated but this change should not be propagated to related constraints, because it is known to be redundant.
[eclipse 1]: make_suspension(writeln(hello), 4, S), make_suspension(writeln('hi there'), 2, T), schedule_woken([S, T]), wake. hi there hello S = 'WOKEN GOAL' T = 'WOKEN GOAL' yes. [eclipse 2]: make_suspension(writeln(hello), 4, S), make_suspension(writeln('hi there'), 2, T), schedule_woken([S, T], 6), wake. hello hi there S = 'WOKEN GOAL' T = 'WOKEN GOAL' yes.