refactor holder erase_impl