“…The most advanced approaches use logic (e.g., [42]), combinatorics (e.g., [26,28,46]), universal algebra (e.g., [6,9,10,12,35,44]), or combinations of those (e.g., [2,7,16,22,48]). In this survey, we will discuss a combinatorial idea that has a bearing on all the above problems, and has strong links with the three approaches -the idea of homomorphism duality.…”