walker: avoid quadratic list insertion in mark_complete