sequence::product