 call_cleanup(:Goal, 
:Cleanup)
call_cleanup(:Goal, 
:Cleanup)setup_call_cleanup(true, Goal, Cleanup). This is 
provided for compatibility with a number of other Prolog implementations 
only. Do not use call_cleanup/2 
if you perform side-effects prior to calling that will be undone by Cleanup. 
Instead, use setup_call_cleanup/3 
with an appropriate first argument to perform those side-effects.