Mr. Oleg my friend. I think yours needs a tweak (perhaps that's what you meant by "I did misplaced"), it removes all items that have duplicates, that is, it returns --
(
("him" "6" "7" "8" "10")
("her" "6" "7" "8" "10")
)for Will's test list of --
'(
("me" "5" "3" "4" "5")
("you" "6" "7" "8" "10")
("him" "6" "7" "8" "10")
("you" "6" "7" "8" "10")
("her" "6" "7" "8" "10")
("me" "6" "7" "8" "10")
)When I believe he desired --
(
("me" "5" "3" "4" "5")
("you" "6" "7" "8" "10")
("him" "6" "7" "8" "10")
("her" "6" "7" "8" "10")
)Also, a little incidental note here, while vl-remove is convenient, and indeed I used it (lots), in cases like this its performance sometimes lags behind a roll your own variant using "classic" lisp equivalents (primarilly because of the insitu mapcar calls I'm guessing).
An informal test, based on unique2 and remove-first (as is) and Will's test list suggests unique2 is about 60% faster, though admittedly, sometimes this matters not.
Hope you don't mind my observations.