Finished rewriting erase_range, refactored it into a different file, added missing includes.