... because it does not necessarily work.

I've tested many cases, and vim didn't do what I suspected the code was expecting it to do. If you have a list of entries that you want to remove, vim only removes them if that matches the contents of the "list" string option as a substring. In other words, if your &rtp is: 'a,b,c,d', you can remove 'a', 'b', 'c', 'd' individually, and you can remove 'a,b', 'b,c', 'c,d', 'a,b,c', 'b,c,d', 'a,b,c,d', but trying to remove 'a,c', 'b,a' does not work. That's why I tried to implement this method: it does what you want in every case, and it tries the "quick" method first (of letting vim do it through 'set &rtp-=').