keep and drop receive dicts where keys are fields and values are values to compare for equality or see below

if value is a list of two elements and the first is the name of a
predicate then will use that predicate against the second element of the
list.

of course you cant do "keep foo [eq [eq 10]]" to avoid that problem