Port Clip over from parser.Range
Use Intersection rather than Clip in eraseAction