"Right now 'del looks like a smorgasbord of special-case utilities which could all have shorter tailor-made alternatives."
That was my first reaction as well. I see one general new idea here, though: to extend indexing to return not just places but slices like in python and Go.
(= l '(1 2 3 4))
(l 1) ; 2
(l 0 2) ; '(1 2)
(= (l 0 2) '(3)) ; l is now '(3 3 4)
Now del becomes identical to setting a range to nil.
(= l '(1 2 3 4))
(= l.0 nil) ; l is now (nil 2 3 4)
(= (l 0 1) nil) ; l is now (2 3 4)