Small fix in product : using != instead of == because some iterators do not have a == operator.
Product is not used when there is only one iterator.