Beef-up docs and tests for itertools.  Fix-up end-case for product().
diff --git a/Modules/itertoolsmodule.c b/Modules/itertoolsmodule.c
index 62b2c19..76c8484 100644
--- a/Modules/itertoolsmodule.c
+++ b/Modules/itertoolsmodule.c
@@ -1885,10 +1885,7 @@
 
 	if (result == NULL) {
                 /* On the first pass, return an initial tuple filled with the 
-                   first element from each pool.  If any pool is empty, then 
-                   whole product is empty and we're already done */
-		if (npools == 0)
-			goto empty;
+                   first element from each pool. */
 		result = PyTuple_New(npools);
 		if (result == NULL)
             		goto empty;