raise error in prod() instead of silently returning None