docs: public static <E,F> Set<Pair<E,F>> cross(Set<E> s1, Set<F> s2) {
      Set<Pair<E,F>> s = new HashSet<Pair<E,F>>();
      for (E o1 : s1) {
        for (F o2 : s2) {
          s.add(new Pair<E,F>(o1, o2));
        }
      }
      return s;
    }