Function: remove-if-not

Remove all items not satisfying PREDICATE in SEQ.
This is a non-destructive function; it makes a copy of SEQ if necessary
to avoid corrupting the original SEQ.

Keywords supported: :key :count :start :end :from-end

(fn PREDICATE SEQ [KEYWORD VALUE]...)