match creates a predicate from functions, keys, and objects