// Cantor iterator for exponents and coeffcients
List<Iterable> eci = new ArrayList<>(2); // no type parameter
eci.add(ei);
eci.add(coeffiter);
CartesianProductInfinite ecp = new CartesianProductInfinite(eci);
iter = ecp.iterator();
List ec = iter.next();
List<Long> ecl = (List<Long>) ec.get(0);
C c = (C) ec.get(1); // zero
ExpVector e = ExpVector.create(ecl);