replaceWithChild
fun PrologExecutionContext.replaceWithChild(currentGoal: Struct = this.currentGoal!!.castToStruct()): PrologExecutionContext
Last-call-optimization counterpart of createChild: reuses the current frame for the current goal (incrementing PrologExecutionContext.depth without growing the PrologExecutionContext.parent chain), used by StateRuleSelection for tail calls to avoid an unbounded execution-context stack.