Ask the engine Engine to produce a next answer. On this first
call on a specific engine, the Goal of the engine is started.
If a previous call returned an answer through completion, this causes
the engine to backtrack and finally, if the engine produces a previous
result using engine_yield/1,
execution proceeds after the engine_yield/1