Updated product to use std::begin, since container is const uses const overload