As it is now, your predicate function will always return null and thus VL-SOME will continue. If you remove the nil, then your predicate function will return the value from the last statement (setq...) which will not be a null value and stop evaluating.
Great list
Also https://www.bricsys.com/bricscad/help/en_US/CurVer/DevRef/index.html?page=source%2FTX_01.htm goto Search put in acet.
Resorted the list