Constraint solvers are actually very good dealing with many constraints and you don’t want to re-invent your own solver. There are a few cases where this may not be true, but it is hard to answer your questions without seeing some examples of the kinds of constraints you need. You may want to look at the inside operator’s ability to search an array for a match.