Update pick and omit to accept a predicate