The start argument specified where to start removing things and the end or count arguments specify where to stop removing things (ie at an index or after a certain number of elements respectively).
I claim this is a pretty good argument against the keyword arguments as they don’t necessarily do what one expects.
Honestly, I think the mistake comes from thinking of `remove-if(-not)' as `filter'.
When I see code saying (remove-if #'condition '(1 2 3 4 5 6) :start 5 :count 3), I would be pretty surprised if it removed anything prior to the 5th element. :count is worse, just by looking at this code I would not be sure whether it would always remove 3 elements (at most) or if it would remove all elements within a subsequence of 3 elements starting at index 5.
The start argument specified where to start removing things and the end or count arguments specify where to stop removing things (ie at an index or after a certain number of elements respectively).
I claim this is a pretty good argument against the keyword arguments as they don’t necessarily do what one expects.