rule: implement Any and All for list comparisons
A few general things but the main changes here are:
-
Contains
is nowSubstring
(and usesneedle
instead ofvalue
for the search string) -
Equals
andSubstrings
have an optionalkey
(so we can search list elements) -
Any
andAll
work on lists