If a question is not solved correctly, it should automatically be offered again at the end of the run. Only when all questions have been answered correctly, the quiz can be closed.
Dialog Cards offers something similar. However, it is up to the learner to judge whether an answer is correct or incorrect. I also find the algorithm quite complex. I would prefer a simpler implementation.