See also
ignore/1: Calls Goal as once/1, but succeeds, regardless of whether Goal succeeded or not.
"Closure"
"Closure" here is a bit misleading. It's just a "Goal" (necessarily atomic, as call/2 is used, so an "Event Handler Predicate"). There is no "code to be executed" in a context that was in existence when that code was wrapped into an object.
See also: https://www.swi-prolog.org/pldoc/doc_for?object=call/2