Implement set_mark_recursively correctly

It did not actually do anything.