Shouldn't we do `self.clear()` ?