static Set<Set<EKey>> meet(Set<? extends Set<EKey>> sop1, Set<? extends Set<EKey>> sop2) {
    Set<Set<EKey>> sop = new HashSet<>();
    for (Set<EKey> prod1 : sop1) {
      for (Set<EKey> prod2 : sop2) {
        Set<EKey> prod = new HashSet<>();
        prod.addAll(prod1);
        prod.addAll(prod2);
        sop.add(prod);
      }
    }
    return sop;
  }
static Set<Set<EKey>> meet(Set<? extends Set<EKey>> sop1, Set<? extends Set<EKey>> sop2)