interface IBStack extends IStackWithOptions { // record an undoable action for backtracking void addUndo aka temp(AutoCloseable undo); // initiate a backtrack IBStack backtrack(); // get next result of computation A nextResult(); A nextResultWithPrintStruct(long maxSteps); }